Saltar al contenido
Framework Ecosystems LabsUn contrato, muchos ecosistemas, la misma prueba.

⚡ Yii — 2008#

⬅️ Atlas · 🐘 Ecosistema PHP · 🗂️ Índice

Yii —de Yes It Is— hizo del rendimiento su argumento central en un momento en que los frameworks PHP competían por funcionalidades. Su técnica principal, la carga perezosa de componentes, es hoy una expectativa mínima.

Aparición 2008, creado por Qiang Xue
Clasificación full-stack-framework
Ecosistema PHP
Licencia BSD-3-Clause
Estado 🟢 Activo
Documentación https://www.yiiframework.com/doc/guide/2.0/en

💡 Carga perezosa de componentes#

La idea: no construir lo que no se va a usar en esta petición. Si una ruta no toca la caché, el objeto de caché no se crea. En un modelo donde cada petición arranca de cero —como el de PHP— eso se nota.

Es la misma preocupación que empujó a Quarkus y a Micronaut en la JVM, con una diferencia de contexto instructiva: en PHP el coste de arranque se paga en cada petición, no una vez al desplegar. La restricción del entorno vuelve a explicar el diseño del framework.

🧰 Generación de andamiaje#

Yii incluye una herramienta que genera modelos, controladores y vistas a partir del esquema de la base de datos. Es velocidad inicial real, y trae el compromiso que enseña el módulo 06: generar el dominio desde la tabla invierte la dirección correcta. El modelo acaba siendo un reflejo del esquema en lugar de las reglas del negocio, y eso se paga cuando el dominio crece [fowler-poeaa].

Es una herramienta excelente para paneles internos y para prototipos; y una mala base para un dominio con invariantes.

⚖️ Su posición hoy#

Yii ocupa un espacio intermedio: más convención que Symfony, menos ecosistema que Laravel. Sigue activo y mantenido, con presencia notable en algunos mercados.

Para el módulo 11, la pregunta relevante es la de siempre: qué tamaño tiene su comunidad, cuánta gente disponible hay y qué política de versiones publica — no cuánta cuota tiene en las encuestas.

🎓 Las dos lecciones#

1. El coste de arranque significa cosas distintas según el modelo de ejecución. En PHP se paga por petición; en la JVM, al desplegar. La misma optimización tiene valor muy distinto.

2. Generar el dominio desde la base de datos invierte la dirección. Es rápido y produce un modelo que refleja tablas en lugar de reglas.

🔗 Enlaces#

Fuentes#