Tabla de Contenidos

Tema anterior

< Bienvenido!

Próximo tema

Framework Benchmarks >

Esta página

Nuestra motivación

Hay muchos frameworks para PHP hoy en día, pero ninguno como Phalcon (en serio).

Casi todos los programadores preferimos usar un framework. Esto debido a que nos proporcionan una gran funcionalidad que esta probada y lista para usar, al mismo tiempo no repitiendonos y reusando código. Sin embargo, los frameworks requieren incluir muchos archivos e interpretar miles de lineas de código en cada petición. Adicionalmente frameworks orientados a objetos agregan una cantidad consirable de overhead. Todas estas operaciones hace que las aplicaciones sean más lentas por consiguiente impactando la experiencia de usuario de manera negativa.

La pregunta

¿Porqué no podemos tener un framework robusto con todas sus ventajas y pocas desventajas?

Esta es la razón por la que Phalcon nace!

Durante los últimos meses, hemos investigado extensivamente el comportamiento de PHP, buscando areas donde sea posible optimizar cosas (grandes o pequeñas). Al entender el Zend Engine, hemos podido remover validaciones innecesarias, compactando código, realizando optimizaciones y generando soluciones de bajo nivel para conseguir el mayor rendimiento posible.

¿Porqué?

  • El uso de frameworks se ha vuelto obligatorio en el desarrollo profesional con PHP
  • Los frameworks nos proporcionan una filosofía y estructura para mantener proyectos escribiendo menos código haciendo así nuestro trabajo más divertido

¿Cómo funciona PHP?

  • PHP tiene tipificación dinámica/débil. Esto significa que para una simple operación (2 + “2”), PHP chequea ambos operadores para efectuar posibles conversiones
  • PHP es interprado y no compilado. La mayor desventaja es la perdida de rendimiento
  • Cada vez que se accede a un script en PHP este debe ser interpretado
  • Si un cache de bytecode (como APC) no es usado, la sintaxis de cada archivo es revisada en cada petición

¿Cómo trabajan los frameworks tradicionales para PHP?

  • Muchos archivos con clases y funciones se leen en cada petición. La lectura de disco impacta el rendimiento
  • Muchos frameworks usan autoloaders para incrementar el rendimiento (para cargar y ejecutar solo el código requirido)
  • La carga contínua de archivos más su interpretación es costosa en términos de rendimiento
  • El código del framework normalmente no cambia entre peticiones, sin embargo una aplicación debe cargarlo e interpretarlo con cada petición

¿Cómo trabaja una extensión en C para PHP?

  • Las extensiones en C se cargan una vez junto con PHP al iniciar el servicio/demonio de PHP
  • Las clases y funciones proporcionadas por la extensión están listas para ser usadas por cualquier aplicación
  • El código no es interpretado porque ya está compilado para una plataforma y procesador específicos

¿Cómo trabaja Phalcon?

  • Los componentes están libremente acoplados. Con Phalcon, nada está impuesto: tienes la libertad de usar todo el framework, o solo las partes que necesites
  • Optimizaciones de bajo nivel ayudan a reducir la sobrecarga requerida para correr aplicaciones MVC
  • Las operaciones con base de datos se efectuán con la máxima eficiencia al usar un ORM para PHP escrito en C
  • Phalcon accede directamente a las estructuras internas de PHP optimizando además cada ejecucion

Conclusión

Phalcon es un esfuerzo para construir el framework más rápido para PHP, al mismo tiempo ofrecer una herramienta sencilla y robusta para crear aplicaciones web sin preocuparse por el rendimiento. Esperamos lo difrutes!