¿Por qué PHP tiene algunos marcos populares en comparación con otros lenguajes?

Esto se debe a que el php y el ecosistema circundante sufrieron muchos cambios desde 2009, es decir, cuando salió 5.3, y lo hizo mucho, mucho más útil.

El primer conjunto de frameworks php que mencionas anteriormente, es decir, Zend, Symfony (1), Cake, CodeIgniter, etc. (Yii también pertenece aquí) son los frameworks php de primera generación, que se hicieron para desarrollar en php 4 / php 5. x (donde x <3) mejor. A medida que el php evolucionó, el lenguaje ganó más funcionalidad que permitió que aparecieran mejores cosas.

Nuevamente, ¿por qué tantos marcos? bueno, en primer lugar, es fácil hacer cosas relacionadas con el desarrollo web en php. En segundo lugar, php carecía de una solución de gestión de paquetes decente.

Luego salió Symfony 2, probablemente el primer framework solo para php 5.3+ (menciono específicamente 5.3 ya que php ha mejorado mucho con esa versión, y se ha estado moviendo a un buen ritmo desde 5.3) era un framework bastante bien escrito y bien estructurado . Demasiado detallado si me preguntas, y dirigido al “desarrollo de software serio”.

Pero la mayoría de los desarrolladores de php no son “desarrolladores de software serios”. Todavía había una aspiradora en php-land, para un marco que es tan fácil de usar como los rieles, y que sin embargo aprovecha el poder de OOP y los cierres, las nuevas características brillantes que ofrece php 5.3. Para llenar este vacío específico, salieron marcos como FuelPHP, Lithium y Laravel (hay muchos, muchos más, pero no entremos en ellos, me quedo con los principales jugadores aquí).

También se estaba gestando algo más en php-land, un administrador de paquetes, un Compositor administrador de paquetes increíble. En comparación con PEAR, es como venir de un páramo tóxico a colinas escénicas o algo así. Y tan pronto como salió, todos los grandes desarrolladores de php se reunieron a su alrededor. Fabien Potencier, el creador de Symfony, y el hombre acreditado con el php-dev edificante por sí solo, desglosó Symfony 2 en paquetes de compositor.

En este momento, los tres principales marcos de php todavía seguían el viejo mantra de “reinventar todo”. Algunos habían hecho bien algunas cosas, otros habían hecho otras. Y este fue el momento en que Taylor Otwell, el creador de Laravel, comenzó su trabajo en la versión 4 de Laravel con el nombre en clave “Illuminate”.

Una gran cantidad de código impresionante más tarde, que aprovecha las características de programación funcional y OOP de php (gracias a Taylor Otwell), con Larvel 4, probablemente hemos llegado al final de las “guerras de framework” de larga data en php land. Tienes Symfony 2, que está dirigido a “desarrolladores de software empresarial”, con reglas y todo para todo, y tienes Laravel 4, que se encuentra en las últimas etapas de la versión beta, que se lanzará oficialmente el 1 de mayo.

Ambos están formados por paquetes de compositores. De hecho, laravel utiliza muchos componentes Symfony de bajo nivel y se centra en proporcionar una API amigable para el desarrollador. Y hay una gran cantidad de paquetes de compositores disponibles en packagist que se pueden conectar fácilmente a cualquier marco.

Porque, como la puta sucia y sucia que es, ¡abre las piernas para cualquier viejo vaquero!