lunes, noviembre 03, 2014

Primeros pasos con Yii 2 Framework

 

 

Instalar Yii 2


sudo apt-get install php5-mcrypt

cd /var/www/html/
sudo mkdir yii

sudo chown mi-usuario.www-data yii
chmod g+w yii/basic/models/
chmod g+w yii/basic/views/
chmod g+w yii/basic/controllers/
cd yii
wget -nd https://github.com/yiisoft/yii2/releases/download/2.0.0/yii-basic-app-2.0.0.tgz
tar -xzvf yii-basic-app-2.0.0.tgz
rm yii-basic-app-2.0.0.tgz
vi basic/config/web.php

'cookieValidationKey' => 'poner aquí una llave - texto al azar',

En ubuntu se produce un error por no detectar la librería de php mcrypt, para ello tendremos que:

sudo mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
sudo php5enmod mcrypt
sudo /etc/init.d/apache2 restart


Generando código con Gii

Configurar la BD editando el fichero basic/config/db.php con el siguiente contenido, la BD ya debe de estar creada:

<?php

return [
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost;dbname=yii2basic',
    'username' => 'usuario',
    'password' => 'clave',
    'charset' => 'utf8',
];

ya podemos acceder a Gii en:
http://localhost/yii/basic/web/index.php?r=gii

Para crear toda la gestión (CRUD) de una tabla ya creada previamente en mysql podemos realizar lo siguiente en Gii:

1.- Generamos el modelo (Model Generator) correspondiente a nuestra tabla, para ello indicamos el nombre de la tabla (mitabla) y el de la clase modelo (Mimodel), pulsamos 'preview' y por último 'create'.

2.- Creamos la gestión del modelo (CRUD Generator), para ello tendremos que indicar el modelo previamente creado: app\models\Mimodel y un buscador y controlador: app\models\MimodelSearch y app\controllers\MimodelController. Como en la ocasión anterior pulsamos 'preview' y por último 'create'.


Veamos la gestión de la tabla funcionando:
http://localhost/yii/basic/web/index.php?r=mitabla



Fuentes de información:
http://www.yiiframework.com/doc-2.0
http://www.pannix.net/721/ubuntu_php_problem_json_and_mcrypt_missing_in_action/
sudo mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/ sudo mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
Publicar un comentario