Yii framework
¿Qué es Yii ?
Yii es un framework para PHP de alta performance basado en
componentes web para desarrollar aplicaciones web de gran escala.
Permite una máxima reusabilidad en la programación web y puede acelerar
significativamente el proceso de desarrollo.
El nombre Yii (pronunciado /i:/ ) proviene de facilidad, eficiencia y extensión.
El nombre Yii (pronunciado /i:/ ) proviene de facilidad, eficiencia y extensión.
Requerimientos
Para correr una aplicación Web basada en Yii, usted necesita un servidor Web que soporte PHP 5.1.0 o superior.
Para los desarrolladores que quieran usar Yii, entender el paradigma
de la orientación a objetos (POO) es de gran ayuda, ya que Yii es un
framework puramente basado en POO.
¿Para qué es mejor Yii?
Yii es un framework genérico para programar Webs que puede ser
utilizado para desarrollar virtualmente cualquier tipo de aplicaciones
web. Ya que es liviano y está equipado con las soluciones mas
sofisticadas, está especialmente diseñado para trabajar con aplicaciones
web de trafico alto, como portales, foros, CMS, comercios electrónicos,
etc.
¿Cómo se compara Yii con otros Frameworks?
Como la mayorÃa de los framework para PHP , Yii es un framework que sigue el patrón de diseño MVC.
Yii sobresale sobre los otros frameworks PHP por su eficiencia y su rica librerÃa de funcionalidades asà como también su clara documentación.
Yii sobresale sobre los otros frameworks PHP por su eficiencia y su rica librerÃa de funcionalidades asà como también su clara documentación.
Yii esta diseñado con cuidado desde el inicio para ser encajado en desarrollos de aplicaciones web serias.
Yii es el resultado de la experiencia que tienen sus autores en el
desarrollo de aplicaciones web ricas en funcionalidad y la investigación
y reflejo de los frameworks y aplicaciones mas populares para programar
Webs.
Instalación
La instalación de Yii es sencilla e involucra los dos siguientes pasos:
1) Descargar el framework desde www.yiiframework.com
2) Extraer el archivo en un directorio accesible por el servidor web.
2) Extraer el archivo en un directorio accesible por el servidor web.
Requerimientos
Luego de instalar Yii puede verificar si su servidor satisface los
requerimientos de Yii. Puede hacer esto accediendo a un script que
revisa los requerimientos y su sistema, acceda a la siguiente URL desde
un navegador web:
http://nombrehost/ruta/hacia/yii/requirements/index.php
comunmente si esta trabajando localmente, el nombrehost es localhost.
Los requerimientos minimos de Yii son PHP 5.1.0 o superior. Yii ha
sido probado en Apache HTTP server en Windows y en Linux. Pero también
deberá correr en otros servidores webs o plataformas que soporten PHP 5.
Consejo: En producción se recomienda sacar el framework del servidor web para evitar hacks.
Modelo, Vistas y Controladores(MVC)
Yii implementa el patrón de diseño MVC(model-view-controller) el cuál es ideal para la programación Web.
MVC apunta a separar la lógica de negocio de la interfaz de usuario, asà los programadores pueden facilmente cambiar cada parte sin afectar unas a otras. En MVC, el modelo representa la información(los datos) y las reglas de negocio; las vistas contienen los elementos de interfaz de usuario, como texto, colores, imagenes; y los controladores manejan la comunicación entre el modelo y la vista.
Además de MVC, Yii también introduce un controlador-frontal , llamado aplicación, el cual representa el contexto de ejecución de las peticiones en proceso. La aplicación resuelve las peticiones de los usuarios y las despacha al controlador apropiado para futuros manejos.
El siguiente diagrama muestra la estructura estática de una aplicación Yii:
Modelo, Vistas y Controladores(MVC)
Yii implementa el patrón de diseño MVC(model-view-controller) el cuál es ideal para la programación Web.
MVC apunta a separar la lógica de negocio de la interfaz de usuario, asà los programadores pueden facilmente cambiar cada parte sin afectar unas a otras. En MVC, el modelo representa la información(los datos) y las reglas de negocio; las vistas contienen los elementos de interfaz de usuario, como texto, colores, imagenes; y los controladores manejan la comunicación entre el modelo y la vista.
Además de MVC, Yii también introduce un controlador-frontal , llamado aplicación, el cual representa el contexto de ejecución de las peticiones en proceso. La aplicación resuelve las peticiones de los usuarios y las despacha al controlador apropiado para futuros manejos.
El siguiente diagrama muestra la estructura estática de una aplicación Yii:
El tÃpico flujo de trabajo
El siguiente diagrama muestra el tÃpico flujo de trabajo de una aplicación Yii cuando está manejando la petición de un usuario:- Un usuario hace una petición en la siguiente URL http://www.example.com/index.php?r=post/show&id=1 y el servidor web maneja la petición ejecutando el bootstrap script index.php.
- El bootstrap script crea una instancia de la aplicación y la ejecuta.
- La aplicacion obtiene la información detallada de la petición de los usuarios desde un componente de la aplicación llamado request(petición).
- La aplicación determina la petición del controlador y actúa con la
ayuda de un componente de la aplicación llamado urlManager(manejador de
url’s).
Para este ejmplo, el controlador es Post que hace referencia a la clase PostController; y la acción es show(mostrar) el cuál su significado es determinado por el controlador - La aplicación crea una instancia de la petición del controlador para
mas adelante manejar la petición del usuario. El controlador determina
que la acción show(mostrar) se refiere a un método llamado actionShow en
la clase del controlador.
Entonces crea y ejecuta filtros (por ej: controles de acceso) asociados a esta acción. La acción es ejecutada si los filtros lo permiten. - La acción lee un modelo Post el cuál si ID es 1 en la base de datos.
- La acción asocia una vista llamada show(mostrar) con el modelo Post.
- La vista lee y muestra los atributos del modelo Post.
- La vista ejecuta algunos artilugios.
- Los resultados de la vista son embebidos en un diseño(layout)
- La acción completa la prestación de la vista y muestra el resultado al usuario.
Traducción : MartÃn Sagastume Rué (msr)
Fuente: Yiiframework