Ir al contenido principal

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/

Comentarios

Entradas populares de este blog

Instalación Django en NAS Synology con FastCGI

Los NAS Synology no traen el módulo de apache mod-wsgi por lo que he utilizado el módulo mod-fastcgi en su lugar para hacer funcionar Django en los NAS Synology. Necesitamos del módulo mysql-python , para su instalación podemos seguir la entrada que ya se publicó en este mismo blog:  http://ilizaran.blogspot.com.es/2014/09/instalacion-del-modulo-mysql-python-en.html De la instalación de mysql-python ya tendremos instalado pip en el NAS por lo que podremos instalar Django con algunos módulos necesarios: pip install Django pip install setuptools pip install flup Para saber que la instalación de Django ha sido correcta y verificar la versión podemos realizar: python import django  django.VERSION Ahora modifcamos la configuración de apache editando el fichero /etc/httpd/conf/httpd.conf-user  para hacer accesible los ficheros css, imágenes y javascript de la parte administrativa de Django, por lo que añadimos: Alias /static/admin /usr/local/packages/@appstor...

Envío masivo de correos personalizados mediante Thunderbird y Mail Merge

Seguramente hayas necesitado enviar correos electrónicos a muchas personas sobre un mismo asunto pero te hubiera gustado que hubieran llegado con su nombre y a su dirección de correo (no en un saco de direcciones de copia oculta). Esto es realmente sencillo con Thunderbird y el complemento Mail Merge. Primero, como es lógico, necesitamos Thunderbird instalado y configurado con la cuenta de correo electrónico que vamos a utilizar para realizar el envío masivo. Ahora accede a Herramientas-> Complementos y busca "mail merge", este aparecerá en la lista de resultados y pulsaremos en el botón de instalar. Reiniciamos Thunderbird para que se active el complemento. Llega el momento interesante, crea un nuevo correo electrónico de forma habitual y redacta el correo que deseas enviar de forma masiva. En el destinatario indica {{correo}} y en el cuerpo de correo {{nombre}} Y ahora llega la hora de la verdad, pulsa sobre Archivo -> Mail Merge. Obtendremos ...

Conectar Dolibarr con otra aplicación mediante un servicio SOAP

Para conectar con Dolibarr otras aplicaciones, como un carrito de la compra, puede ser muy interesante utilizar los " Web Services " que nos ofrece Dolibarr. Para activarlos tenemos que ir a Configuración-> Módulos-> Módulos Interfaz y poner a ON los WebServices. También hay que configurar la clave para usar los Web Services (parámetro "dolibarrkey" en webservices). Indicamos una palabra clave que se nos ocurra como por ejemplo: $5x8Cd45Cadec_f?K y pulsamos salvar. A continuación muestro un ejemplo con Python y la librería suds para obtener una factura: from suds.client import Client client = Client('http://www.midominio.es/dolibarr/webservices/server_invoice.php?wsdl') auth = client.factory.create('authentication') auth.dolibarrkey='$5x8Cd45Cadec_f?K' auth.sourceapplication='' auth.login='usuario' auth.password='clave' auth.entity='' result = client.service.getInvoice(auth,'1') print resu...