# Yii

Yii es un framework orientado a objetos, software libre, de alto rendimiento basado en componentes, PHP y framework para aplicaciones web. Yii se pronuncia en español como se escribe y es un acrónimo para "Yes It Is!" (en español: ¡Sí lo es!).

## Historia

El proyecto Yii comenzó el 1 de enero de 2008, con el fin de solucionar algunos problemas con el framework PRADO. Por ejemplo, PRADO es lento manejando páginas complejas, tiene una curva de aprendizaje muy pronunciada y tiene varios controles que dificultan la personalización, mientras que Yii es mucho más fácil y eficiente. En octubre de 2008 después de 10 meses de trabajo en privado, la primera version alfa de Yii fue lanzada. El 3 de diciembre del mismo año, Yii 1.0 fue formalmente presentado.

## Características

Algunas características de Yii incluyen:
* Patrón de diseño Modelo Vista Controlador (MVC).
* Database Access Objects (DAO), query builder, Active Record y migración de base de datos.
* Integración con jQuery.
* Entradas de Formulario y validación.
* Widgets de Ajax, como compleción automática de campos de texto y demás.
* Soporte de Autenticación incorporado. Además soporta autorización vía role-based access control (RBAC) jerárquico.
* Personalización de aspectos y temas.
* Generación compleja automática de WSDL, especificaciones y administración de peticiones Web service.
* Internacionalización y localización (I18N and L10N). Soporta traducciones, formato de fecha y hora, formato de números, y localización de la vista.
* Esquema de caching por capas. Soporta el caché de datos, caché de páginas, caché por fragmentos y contenido dinámico. El medio de almacenamiento del caché puede ser cambiado.
* El manejo de errores y logging. Los errores son manejados y personalizados, y los log de mensajes pueden ser categorizados, filtrados y movidos a diferentes destinos.
* Las medidas de seguridad incluyen la prevención cross-site scripting (XSS), prevención cross-site request forgery (CSRF), prevención de la manipulación de cookies, etc.
* Herramientas para pruebas unitarias y funcionales basados en PHPUnit y Selenium.
* Generación automática de código para el esqueleto de la aplicación, aplicaciones CRUD, etc.
* Generación de código por componentes de Yii y la herramienta por línea de comandos cumple con los estándares de XHTML.
* Cuidadosamente diseñado para trabajar bien con código de terceros. Por ejemplo, es posible usar el código de PHP o Zend Framework en una aplicación Yii.

## Historia de versiones

| Significado de | colores |
| Rojo | Versión antigua; sin soporte. |
| Amarillo | Versión antigua; con soporte |
| Verde | Versión actual |
| Versión | Lanzamiento | Fecha de lanzamiento | Fin de mantenimiento | Requerimientos |
| 1.0 | 1.0 | 3 de diciembre de 2008 | 31 de diciembre de 2010 | PHP 5.1.0 or superior. |
| 1.0 | 1.0.1 | 4 de enero de 2009 | 31 de diciembre de 2010 | PHP 5.1.0 or superior. |
| 1.0 | 1.0.2 | 1 de febrero de 2009 | 31 de diciembre de 2010 | PHP 5.1.0 or superior. |
| 1.0 | 1.0.3 | 1 de marzo de 2009 | 31 de diciembre de 2010 | PHP 5.1.0 or superior. |
| 1.0 | 1.0.4 | 5 de abril de 2009 | 31 de diciembre de 2010 | PHP 5.1.0 or superior. |
| 1.0 | 1.0.5 | 10 de mayo de 2009 | 31 de diciembre de 2010 | PHP 5.1.0 or superior. |
| 1.0 | 1.0.6 | 7 de junio de 2009 | 31 de diciembre de 2010 | PHP 5.1.0 or superior. |
| 1.0 | 1.0.7 | 5 de julio de 2009 | 31 de diciembre de 2010 | PHP 5.1.0 or superior. |
| 1.0 | 1.0.8 | 9 de agosto de 2009 | 31 de diciembre de 2010 | PHP 5.1.0 or superior. |
| 1.0 | 1.0.9 | 6 de septiembre de 2009 | 31 de diciembre de 2010 | PHP 5.1.0 or superior. |
| 1.0 | 1.0.10 | 18 de octubre de 2009 | 31 de diciembre de 2010 | PHP 5.1.0 or superior. |
| 1.0 | 1.0.11 | 13 de diciembre de 2009 | 31 de diciembre de 2010 | PHP 5.1.0 or superior. |
| 1.0 | 1.0.12 | 14 de marzo de 2010 | 31 de diciembre de 2010 | PHP 5.1.0 or superior. |
| 1.1 | 1.1.0 | 10 de enero de 2010 | 31 de diciembre de 2013 o más | PHP 5.1.0 or superior |
| 1.1 | 1.1.1 | 14 de marzo de 2010 | 31 de diciembre de 2013 o más | PHP 5.1.0 or superior |
| 1.1 | 1.1.2 | 2 de mayo de 2010 | 31 de diciembre de 2013 o más | PHP 5.1.0 or superior |
| 1.1 | 1.1.3 | 4 de julio de 2010 | 31 de diciembre de 2013 o más | PHP 5.1.0 or superior |
| 1.1 | 1.1.4 | 5 de septiembre de 2010 | 31 de diciembre de 2013 o más | PHP 5.1.0 or superior |
| 1.1 | 1.1.5 | 14 de noviembre de 2010 | 31 de diciembre de 2013 o más | PHP 5.1.0 or superior |
| 1.1 | 1.1.6 | 16 de enero de 2011 | 31 de diciembre de 2013 o más | PHP 5.1.0 or superior |
| 1.1 | 1.1.7 | 27 de marzo de 2011 | 31 de diciembre de 2013 o más | PHP 5.1.0 or superior |
| 1.1 | 1.1.8 | 26 de junio de 2011 | 31 de diciembre de 2013 o más | PHP 5.1.0 or superior |
| 1.1 | 1.1.9 | 1 de enero de 2012 | 31 de diciembre de 2013 o más | PHP 5.1.0 or superior |
| 1.1 | 1.1.10 | 12 de febrero de 2012 | 31 de diciembre de 2013 o más | PHP 5.1.0 or superior |
| 1.1 | 1.1.11 | 29 de julio de 2012 | 31 de diciembre de 2013 o más | PHP 5.1.0 or superior |
| 1.1 | 1.1.12 | 19 de agosto de 2012 | 31 de diciembre de 2013 o más | PHP 5.1.0 or superior |
| 1.1 | 1.1.13 | 30 de diciembre de 2012 | 31 de diciembre de 2013 o más | PHP 5.1.0 or superior |
| 1.1 | 1.1.14 | 11 de agosto de 2013 | 31 de diciembre de 2013 o más | PHP 5.1.0 or superior |
| 1.1 | 1.1.15 | 29 de junio de 2014 | 31 de diciembre de 2015 | PHP 5.1.0 or superior |
| 1.1 | 1.1.16 | 21 de diciembre de 2014 | 31 de diciembre de 2015 | PHP 5.1.0 or superior |
| 2.0 | 2.0.0 | 12 de octubre de 2014 | TBD | PHP 5.4.0 o superior |
| 2.0 | 2.0.1 | 7 de diciembre de 2014 | TBD | PHP 5.4.0 o superior |
| 2.0 | 2.0.2 | 11 de enero de 2015 | TBD | PHP 5.4.0 o superior |
| 2.0 | 2.0.3 | 1 de marzo de 2015 | TBD | PHP 5.4.0 o superior |
| 2.0 | 2.0.4 | 10 de mayo de 2015 | TBD | PHP 5.4.0 o superior |
| 2.0 | 2.0.5 | 11 de julio de 2015 | TBD | PHP 5.4.0 o superior |
| 2.0 | 2.0.6 | 5 de agosto de 2015 | TBD | PHP 5.4.0 o superior |
| 2.0 | 2.0.35 | 2 de mayo de 2020 |

## Extensiones

El proyecto Yii tiene un repositorio de extensiones que consisten en componentes contribuidos por usuarios.
También hay una biblioteca de extensiones oficial llamada zii, la cual la han unido junto al núcleo del framework. Esta es incluida en cada lanzamiento desde la versión 1.1.0 Yii e incluye comportamientos adicionales y widgets, tales como las redes y los widgets jQuery UI.

## Documentación

Yii viene con una colección de documentos oficiales, tales como un tutorial para desarrollar un simple blog, una guía que recoge la descripción de cada función y una referencia de clases que ofrece todos los detalles acerca de las propiedades, métodos y eventos.
También hay una documentación aportadas por los usuarios, la mayoría de los cuales está disponible en el wiki en la página web oficial.

## Licencia

Yii es liberado bajo la Nueva Licencia BSD (Cláusula 3 de la licencia). Esto significa que es posible utilizar de forma gratuita para desarrollar cualquier aplicación web de código abierto o software privativo.
El texto que figura en la documentación oficial de Yii tiene licencia para el público bajo la GNU Free Documentation License (GFDL). En general, el contenido de la documentación Yii puede ser copiado, modificado y redistribuido siempre y cuando la nueva versión de subvenciones de las mismas libertades a los demás y reconozca a los autores del artículo de la documentación utilizada Yii
El logotipo está bajo una licencia Creative Commons Atribución-No Derivative Works 3.0 Unported

## Bibliografía
### Libros

* Merkel, Dirk (2010). «Chapter 6: PHP Frameworks». Expert PHP 5 Tools. Packt Publishing. ISBN 978-1-847198-38-9.
* Winesett, Jeffrey (2010). Agile Web Application Development with Yii1.1 and PHP5. Packt Publishing. ISBN 978-1-847199-58-4.
* Makarov, Alexander (2011). Yii 1.1 Application Development Cookbook. Packt Publishing. ISBN 978-1-84951-548-1.
* Keck, William; Garcia, Victor Hugo (2015). Yii 2 Para Principiantes. LeanPub.

### Prensa

* Behme, Henning (enero de 2009). «World Wide Web». iX (Heise).
* Winesett, Jeffrey (marzo de 2009). «Adding the Yii Framework to Your Web Development Toolbox». php|architect.
* Winesett, Jeffrey (julio de 2009). «Yii: Flex Your Flash». php|architect.
* Kreußel, Peter (noviembre de 2009). «PHP-Frameworks im Überblick, Viel Holz für den Rahmen». Linux-Magazin (Linux New Media AG).