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/
Comentarios