Instalar Yii FrameWork desde 0

Yii LogoLa casualidad a querido que me vea analizando diferentes frameworks PHP con los cuales poder montar una aplicación. De todos los que he visto, creo que son interesantes cakePHP, Zend y el que está copando este pequeño artículo Yii.

Me llamó poderosamente la atención, el número de peticiones por segundo que Yii es capaz de procesar, claro que, estos datos son facilitados por la propia web del framework, con lo qual, nos lo podemos creer, o no 🙂 Os dejo una gráfica para que juzgueis vosotros mismos:

Performance Comparison Among PHP Frameworks

Performance Comparison Among PHP Frameworks

Veamos como instalar este framework y como generar con él código a partir de nuestra base de datos sin necesidad de picar una sóla línea:

  1. Nos descargamos el código de yii de la página oficial, en mi caso, he instalado la versión estable 1.0.3.
  2. Descomprimimos la carpeta framework en una ruta accesible desde nuestro navegador, por ejemplo, /var/www/yiiTest/ (a partir de ahora supondremos que se ha descomprimido en esta carpeta)
  3. Ahora nos situamos en el directorio en el que hemos descomprimido el framework y crearemos nuestra aplicación de la siguiente manera:
    user@pc:/var/www/yiiTest$ framework/yiic webapp [ApplicationName]

    Si todo ha ido bien, nos habrá creado una carpeta [ApplicationName] con una serie de carpetas y archivos en su interior (assets, css, protected…)

  4. Llegados a este punto, podemos indicarle los datos de conexión a la base de datos modificando el archivo /var/www/yiiTest/[ApplicationName]/protected/config/main.php. Buscamos la línea que contiene:
    // uncomment the following to set up database
    	/*
    	'db'=>array(
    		'connectionString'=>'Your DSN',
    	),
    	*/

    y la modificamos por:

    'db'=>array(
    			'connectionString'=>'mysql:host=localhost;dbname=[DbName]','username'=>'[DbUser]', 'password'=>'[DbPassord]', 'charset'=>'[DbCharset]',
    		),

    Sustituyendo la información entre corchetes por la de nuestra base de datos.

  5. Y ahora llega la parte interesante. Crearemos código de manera automática a partir de las tablas que tenemos en nuestra base de datos.
    Supongamos que tenemos una tabla user y que queremos generar de una manera sencilla el código CRUD (Create, Read, Update y Delete) de dicha tabla. Esto sería tan siemple como hacer:

    user@pc:/var/www/yiiTest/[ApplicationName]$ protected/yiic shell

    Entraremos en el modo consola de Yii y desde aquí escribiremos:

    >> model user

    Para generar el model de dicha tabla y:

    >> crud user

    Para generar el controller.

Una vez hecho esto, puedes ver el código generado en las carpetas /var/www/yiiTest/[ApplicationName]/protected/controllers y en /var/www/yiiTest/[ApplicationName]/protected/models.

Se fini! Ahora sólo queda jugar y probar con Yii a ver si se adapta a las necesidades de lo que queramos hacer.

10 thoughts on “Instalar Yii FrameWork desde 0

  1. Pingback: Configurar Smarty en Yii Framework

  2. Sabes tengo un problema, YII no me soporta tildes ni la letra ñ.
    Por ejemplo para tildar un atributo
    ‘codigo’=>’Código’ .. En la vista ‘show’ no me aparece esta etiqueta.
    Lo mismo pasa si en mi base de datos tengo palabras con acentos y la letra ‘ñ’ no me lo carga.

    Estaria muy agradecido si me ayudaras.

  3. Hola

    Este framework viene por defecto con el idioma EN pero quiero cambiarlo a español para que sus errores muestren en idioma español.

    Agradesco tu ayuda.

    Gracias!!

  4. me dice que no encuentra esta dll php_mbstring.dll que lo instale de nuevo,?? alguien puede darme una pista o a caso me descarge una version no estable?

  5. hola me cuando quiero conectar yii con postgres me sale el error de que no encuentra el driver pero me crea el model y el crud ala hora de abrir la pagina me genera ese error

    la version de postgres es la 9.1

  6. Hola muchas gracias por subir este post. Tengo una duda, dónde escribo esto user@pc:/var/www/yiiTest$ framework/yiic webapp [ApplicationName] para inicializar una nueva aplicación? Estoy en un servidor pago.

    Gracias por cualquier ayuda.

Comments are closed.