Yii framework

 

  1. Introducción.
  2. Historia.
  3. Características.
  4. Performance.
  5. Ok, menos charla y más código.





@CodeMaxter
@MedelinPHP
2013

Introducción - Yes It Is!

 

Yii, la solución a todos tus problemas como desarrollador PHP.


Bueno, bueno, no tan rápido, no programará por ti, pero te quitará de encima una gran cantidad de problemas y facilitará tu vida, no es magia, pero se es lo suficientemente genial que lo amarás. 


Yii es el acrónimo para Yes It Is!, que es la respuesta de Yii para 4 acertadas preguntas: ¿es rápido?, ¿es seguro?, ¿es profesional?, ¿es adecuado para mi siguiente proyecto?. La respuesta es Yes It Is!.

Un poco más de detalle

 Yii es un framework de desarrollo web gratuito, open source, escrito en PHP 5 que promueve el desarrollo rápido, limpio y siguiendo el diseño DRY. Trabaja para agilizar el desarrollo de aplicaciones y ayuda a garantizar un producto final extremadamente eficiente, ampliable y fácil de mantener.

Historia

Yii fue amablemente desarrollado por Qiang Xue, creador anteriormente del framework Prado.  El proyecto inició el primero de Enero de 2008. El 3 de Diciembre de 2008, casi un año después de inicio el desarrollo, Yii 1.0 vió la luz y debido a su excelente desempeño en cuanto a performance y a su facilidad de uso, ha ganado gran notoriedad desde entonces.


Yii se ha inspirado en otros proyectos, como por ejemplo:


  • Prado: La mayor fuente de inspiración para Yii (no, no fue Ruby on Rails). De este tomó su diseño basado en componentes, paradigma de programación orientado a eventos, etc.
  • Ruby on Rails: Yii hereda el espíritu de convención sobre configuración . Yii también hace referencia a su implementación del patrón de diseño Active Record para su capa ORM.
  • jQuery: Está integrado en Yii como el framework fundamental de JavaScript .
  • Symfony: Yii hace referencia a su diseños de filtros y su arquitectura de plug-ins.
  • Joomla: Yii hace referencia a su diseño modular y esquema de traducción de mensajes.

características


 Yii trae consigo una larga lista de funcionalidades.


Model-View-Controller (MVC) design pattern. Database Access Objects (DAO), Query Builder, Active Record, DB Migration.
Form input and validation. AJAX-enabled widgets.
Authentication and authorization. Skinning and theming.
Web services. Internationalization (I18N) and localization (L10N).
Layered caching scheme. Error handling and logging.
Security. Unit and functionality testing.
Automatic code generation. Friendly with third-party code.
Detailed documentation. Extension library.

Performace

Yii es un framework de alto rendimiento. El gráfico de abajo muestra cuán eficiente es Yii  cuando se compara con otros frameworks PHP populares. En la gráfica, RPS significa "request per second", que describe cuántas peticiones por segundo puede procesar una aplicación escrita en un framework. Cuanto mayor sea el número, es más eficiente el framework.

¿Por qué yii es tan rápido?


Yii es mucho más rápido porque utiliza la técnica lazy loading extensivamente. Por ejemplo, no incluye el archivo de una clase hasta que la clase se utiliza por primera vez; y no crea un objeto hasta que el objeto se accede por primera vez. Otros frameworks afectan su rendimiento debido a que habilitan una funcionalidad (conexión DB, sesión de usuario, etc.) sin importar si es utilizada o no en la petición.

Ok, menos charla y más código


Trabajar con Yii es realmente fácil, así que acostúmbrense y disfrútenlo.


Lo primero que debemos hacer es descargar una copia del framework, para esto vamos a la página oficial de Yii: http://www.yiiframework.com/download/.


Una  vez descarguemos el código fuente, debemos descomprimirlo en nuestro servidor web.  Básicamente Yii lo componen dos directorios: framework y requirements.

Show me the money man!


Ok, para crear una aplicación Yii necesitamos recurrir a la consola de comandos, tranquilos, será la única vez, se los prometo.

php -f d:\UwAmp\www\yii\framework\yiic webapp d:\UwAmp\www\medellin-php

Este comando nos creará la estructura básica de nuestro proyecto Yii.

Estructura de un proyecto Yii

assets/
css/
images/
protected/
themes/
index.php
index-test.php
commands/
components/
config/
controllers/
data/
extensions/
messages/
migrations/
models/
runtime/
tests/
views/
.htaccess
yiic
yiic.bat
yiic.php

Config

El directorio config contiene la configuración de la aplicación, dentro hay tres archivos, pero principalmente nos interesa el archivo main.php, que es la configuración de nuestra aplicación web.


Opciones importantes:

  • name
  • gii
  • urlManager
  • db
  • params

Let's rock my friends

 Aplicación de ejemplo: 5 tablas, relacionadas entre si, Twitter Bootstrap para diagramar la interfaz, diseño responsive, CRUD de todas las tablas, sistema de autenticación.

Yii framework

By Alvaro Agamez

Yii framework

  • 1,074