PHP (Preprocesador de Hipertexto) es uno de los lenguajes de programación más populares y ha sido utilizado por millones de páginas web hasta el día de hoy. Según las encuestas, el 85% de las páginas web utilizan PHP. A pesar de es el lenguaje ideal para desarrollar aplicaciones web que requieran respuestas en tiempo real, es un lenguaje bastante interactivo que permite generar código HTML de un modo muy eficiente, además de integrarse muy bien con bases de datos, por no hablar de lo sencillo que resulta aprender este lenguaje.
Al igual que otros lenguajes populares para el desarrollo web, existen una gran cantidad de frameworks desarrollados para PHP que permiten acelerar el tiempo de desarrollo de las aplicaciones y evitar que se produzcan errores de programación a nivel del servidor, al incluir capas de abstracción y usar patrones de diseño. A continuación podrás ver los motivos para utilizar un Framework de PHP.
Contenidos
¿Por qué utilizar un Framework de PHP?
Echemos un vistazo a las principales razones por las que muchos desarrolladores prefieren utilizar frameworks PHP y cómo estos frameworks pueden mejorar el desarrollo de las aplicaciones. Entre otras cosas, estas son las ventajas de los frameworks:
- Incrementan la velocidad de desarrollo.
- Se obtiene un código bien organizado, reutilizable y fácil de mantener.
- Permiten crear aplicaciones escalables que no degeneran con cada nueva función, además de mejorar la reutilización del código.
- Se mejora la seguridad a bajo nivel en las aplicaciones. Los frameworks también nos otorgan más protección para algunos ataques como inyecciones SQL, ataques XSS y más.
- Casi todos los frameworks siguen el patrón MVC (Modelo-Vista-Controlador), que proporciona una separación entre la presentación y la lógica de las aplicaciones.
- Animan a utilizar las mejores y más modernas prácticas de desarrollo asó como las últimas tendencias en programación orientadas a objetos
Frecuencia de utilización de los Frameworks de PHP
Los frameworks para PHP suelen ser desarrollados por una comunidad de programadores distribuidos alrededor del mundo y en general, son gratuitos y de acceso público para la mayor parte de sus funcionalidades. En la siguiente gráfica podéis comparar la popularidad de los frameworks más conocidos.
Veamos ahora la lista de los frameworks de PHP más utilizados.
Los Frameworks de PHP más utilizados
Estos son los frameworks de PHP más utilizados.
Laravel
Laravel es uno de los frameworks más populares a día de hoy, siendo usado por un montón de desarrolladores. Es un framework más bien joven, puesto que ha sido lanzado en febrero del 2012, pero ha llamado la atención de bastantes programadores desde entonces. La última versión de Laravel está compuesta de varios paquetes de Composer.
Integra una buena gestión de rutas, sistema de autenticación, soporte para migraciones de otros entornos y el sistema de gestión de modelos Blade, entre otras cosas. Sus sistemas de templates o plantillas, llamado Blade, es muy ligero y tiene una sintaxis bastante elegante, facilitando la mayor parte de las tareas como as acciones de login, el control de sesiones, la gestión de las páginas en caché y demás. Laravel tiene un entorno de desarrollo local llamado Homestead, que viene incluido en una box de Vagrant.
- Puedes descargar Laravel desde aquí.
Symfony
Symfony es uno de los frameworks de PHP más flexibles y escalables que existen para el desarrollo del aplicaciones que utilizan el modelo vista-controlador o MVC. Existen multitud de componentes para PHP que pueden ser utilizados como Form Config para la gestión de formularios, Translation para la gestión de traducciones, Templating para la gestión de los temas y Security, que tal y como su nombre indica es un componente de seguridad.
Al igual que Laravel, también se distribuye mediante una serie de paquetes modulares usando el gestor de dependencias Composer. Symfony trata de hacer que el desarrollo de aplicaciones web sea más sencillo y menos repetitivo, además de hacer que las aplicaciones sean más fáciles de mantener. En general, los componentes de Symfony 2 son una serie de librerías de PHP que pueden ser reutilizadas, útiles para la creación de formularios, la configuración de las rutas, la autenticación de usuarios, la creación de plantillas o templates y más cosas
Los componentes del framework Symfony 2 son utilizados por un montón de proyectos, como el CMS Drupal (web oficial de Drupal). Otra aplicación bastante conocida que utiliza Symfony 2 es el gestor de foros phpBB (web oficial de phpBB).
La comunidad de Symfony es de un tamaño aceptable, por lo que resulta fácil encontrar soporte o dudas resueltas por Internet.
CodeIgniter
CodeIgniter es un framework gratuito para PHP que está mantenido por EllisLab, también creadores de ExpressionEngine, otro framework para PHP de pago que incorpora bastantes fundamentos de CodeIgniter. Dispone de una gran cantidad de documentación y de una enorme comunidad de usuarios. Se trata de un framwork que destaca por lo ligero que es, ya que solamente ocupa 2MB de espacio.
Existen muchas funcionalidades de CodeIgniter interesantes como el hecho de que su instalación sea extremadamente sencilla, la gestión de los errores, el sistema de seguridad integrado y la inclusión de un sistema de encriptación así como muchas otras librerías incluidas por defecto. Debido a su sencillez, su curva de aprendizaje es muy sencilla, requiriendo un tiempo relativamente corto para dominarlo. Es un framework ideal para principiantes. Debido a lo sencilla que resulta su instalación, te evitarás muchos problemas de conflictos o problemas referentes a la configuración del servidor que sí están presentes en frameworks como Zend, o al menos, lo están la primera vez que lo utilizas. Es por ello que es posible utilizarlo en cuentas de hosting compartido sin problema alguno. En general, destaca por la libertad que ofrece a los programadores.
Dispone también de extensiones HMVC que pueden agregarse para un uso jerárquico del modelo MVC.
- Puedes descargar CodeIgniter desde aquí.
Yii 2
Yii Framework es framework para PHP orientado a objetos bastante reciente. Su instalación es muy sencilla, es muy extensible y se adapta a todo tipo de proyectos. La segunda versión de Yii, Yii 2, trae consigo muchas mejoras. Se trata de uno de los frameworks más rápidos que existen, con permiso de Phalcon. Esto es posible debido a sus técnicas de lazy loading. Yii 2 es un framework puramente orientado a objetos que sigue el patrón de desarrollo DRY, que significa Don’t Repeat Yourself (No te repitas a ti mismo), con lo que ofrece una base de código sólida y organizada de un modo muy lógico.
Yii viene integrado con jQuery de serie, incluyendo varias funcionalidades para crear peticiones AJAX, implementando también un sistema muy sencillo de plantillas o templating. Es un framework que gustará muy a los desarrolladores front-end.
Yii incorpora un sistema para generar clases automáticamente que facilidad la programación orientada a objetos y el prototipado. Dispone de varias herramientas que servirán para configurar las aplicaciones web y optimizar su rendimiento. Yii viene con otro framework de testeo denominado CodeCeption para probar las aplicaciones de un modo fácil y sencillo.
- Puedes descargar Yii desde aquí.
Phalcon
Phalcon está inspirado en el ave más rápida que existe, el halcón. Phalcon fue lanzado es el año 2012 y su nombre se debe a que Phalcon es un framework en el que la velocidad de proceso es una prioridad. Cuando su velocidad es comparada con la de otros frameworks, gana de lejos por su mínimo uso de memoria de acuerdo a los tests que se han realizado. A diferencia de otros frameworks, Phalcon está escrito con C/C++ para optimizar su velocidad y tener el mejor rendimiento posible. Lo mejor de todo es que no tendrás que aprender C, ya que toda la funcionalidad está expuesta como una serie de clases de PHP que están listas para se utilizadas por las aplicaciones que desarrolles.
Debido a que Phalcon viene en la forma de una extensión de C, su arquitectura está optimizada a bajo nivel para así reducir significativamente las latencias, evitando los problemas de rendimiento de otros frameworks MVC basados en PHP, que después de todo no deja de ser un lenguaje de scripting.
Phalcon no solamente aumenta la velocidad de ejecución de las aplicaciones, sino que también reduce los recursos necesarios, como la memoria. Phalcon sigue el patrón MVC e incluye gestión de rutas entre otras cosas, así como sistema de caché o gestión de temas y lenguajes. Sus funcionalidades de seguridad y su autoloader universal también son destacables.
- Puedes descargar Phalcon desde aquí.
CakePHP
CakePHP es un framework para PHP compatible con la versión 4 del lenguaje y obviamente, versiones superiores, como PHP 5 y 7. Su versión inicial fue lanzada en el año 2005, pero aún es utilizado por muchos desarrolladores, ya que siempre se ha logrado mantener al día con cada nueva versión. Integra todas las funcionalidades de los sistemas CRUD, que quiere decir: Crear, mostrar, actualizar y borrar, algo muy útil a la hora de trabajar con bases de datos. CakePHP 3 incluye muchas mejoras en lo referente a la gestión de sesiones de usuario y modularidad, desacoplando muchos componentes y facilitando la creación de librerías independientes.
CakePHP dispone de varios módulos de seguridad, email, sesiones, cookies y gestión de peticiones al servidor. Antaño era uno de los frameworks más utilizados, pero hoy en día ha decaído su uso debido a la fuerte competencia, aunque como ya hemos dicho, se mantiene. Además, existen muchísimas webs de grandes marcas que utilizan CakePHP, puesto que una de sus grandes virtudes es la seguridad, siendo ideal para aplicaciones en las que la seguridad es una prioridad. Incluye funcionalidades para validar los datos de entrada y evitar inyecciones SQL y ataques XSS (ross-site scripting), así como elementos para la protección CSRF.
- Puedes descargar CakePHP desde aquí.
Zend Framework
Zend Framework es un framework de PHP escalable y orientado a objetos que disponen de muchas funcionalidades. Ha sido creado por los también creadores del lenguaje PHP y en su versión 3 se incluyen muchas mejoras con respecto a versiones anteriores. Es un framework muy robusto, pero no se recomienda para pequeños proyectos, ya que conllevará un innecesario tiempo de desarrollo adicional. Sin embargo, es ideal para proyectos de gran envergadura. Su última versión está optimizada para funcionar bajo la versión 7 de PHP, aunque sigue soportando PHP 5.
Es posible realizar un curso y obtener una certificación online, otorgando cierta confianza a muchas de las empresas que lo utilizan. Utiliza el patrón de diseño MVC y es posible agregar funcionalidades creando clases personalizadas, usando solamente aquellas partes del framework que se necesitan.
Destacan las funcionalidades criptográficas y su editor visual, en caso de que utilicemos el IDE oficial de Zend. Incluye utilidades de testeo para PHP Unit y un wizard para configurar la conexión a la base de datos. Zend fue creado siguiendo las metodologías de desarrollo ágiles, facilitando la creación de grandes aplicaciones de gran calidad. Al igual que muchos otros frameworks, también incluye un módulo para la gestión de mensajes flash.
Cabe decir que, como punto negativo, te pasarás más tiendo configurando el framework que programando. Su documentación también es mejorable.
Puedes descargar Zend Framework desde aquí.
Slim
Se trata de un pequeño framework muy ligero y minimalista que está inspirado por Sinatra, un framework de Ruby. Ocupa muy poco espacio y su curva de aprendizaje es muy sencilla. Es ideal para desarrollar pequeñas aplicaciones en las que el uso de un framework de más envergadura sería una locura para lo que se pretende obtener.
Slim dispone de un excelente sistema de gestión de rutas y se centra en APIs para servicios RESTful con soporte para métodos GET, POST, PUT, DELETE… etc. Es necesario que el servidor tenga instalada la versión 5.2 o superior de PHP para que el framework funcione. Incluye funcionalidades para la gestión de rutas, la gestión de caché HTTP, el control de sesiones y la encriptación de cookies. Al igual que muchos otros frameworks como Zend, también incluye un módulo para la gestión de mensajes flash.
- Puedes descargar Slim desde aquí.
FuelPHP
FuelPHP es un framework escrito mediante la versión 5.3 PHP, por lo que para que funcione deberás tener esta versión instalada o una superior. Utiliza un sistema de gestión de archivos en cascada inspirado en Kohana. Sus funcionalidades principales son el sistema de gestión de rutas, y las implementaciones RESTful y HMVC, que es la evolución del patrón MVC. También es de destacar la gestión de temas, la gestión de formularios y la validación de sus datos.
FuelPHP agrega un tipo de clase opcional llmada Presenter, al que llaman formalmente ViewModel. Estas clases están entre las capas de controlador y las capas de vista, incluyendo la lógica necesaria para generar las vistas.
En cuanto a seguridad y velocidad, incluye un sistema de protección frente a las vulnerabilidades más comunes y un sistema de caché. Destaca la inclusión de un framework de autenticación con muchas funcionalidades avanzadas. Incluye un sistema ORM que permite mapear los tipos de datos con las tablas de la base de datos. Gracias a su extensa comunidad es un framework muy flexible y modular.
- Puedes descargar FuelPHP desde aquí.
PHPixie
PHPixie es una framework de PHP desarrollado en el año 2012. El objetivo de sus desarrolladores fue el de crear un framework de gran rendimiento para webs read-only (webs de solo lectura).
PHPixie utiliza el patrón de diseño HMVC, al igual que FuelPHP y CodeIgniter. Se compone de varios componentes independientes que pueden ser utilizados por separado, sin hacer uso del framework en sí mismo. Todos los componentes han sido testeados mediante PHP Unit y apenas tienen dependencias.
Entre otras funcionalidades, se incluye un ORM, funcionalidades de caché, validación de formularios, control de autenticación, gestión de permisos, gestión de rutas y más. Podrás utilizar el lenguaje de marcado HAML a través de un módulo.
- Puedes descargar PHPixie desde aquí.
Zikula
Zikula es un framework para PHP que está basado en Symfony y en Doctrine, una colección de librerías para PHP usadas principalmente para la gestión de bases de datos y el mapeo de objetos relacionales (ORM). Es recomendable tanto para pequeños proyectos como para grandes aplicaciones.
Incluye un sistema de gestión de vistas que utiliza el framework Bootstrap, utilizado para crear interfaces que se adapten a todo tipo de pantallas. Más que de un framework, estamos hablando de un CMS o gestor de contenidos, ya que incluye un montón de funcionalidades para controlar el aspecto visual de las aplicaciones.
Kohana
Se trata de un framework para PHP con patrón HMVC nativo. Ha sido creado teniendo en cuenta que las aplicaciones que se creen con él utilizarán PHP orientado a objetos. por lo que incluye sistemas de interfaces y gestión de clases, interfaces, abstracciones, sobrecargas y patrones singletons.
Kohana también dispone de una completa gestión de cookies, sesiones y peticiones GET/POST. Requiere que el servidor tenga instalada la versión 5 de PHP o superior.
Flight
Se trata de un pequeño framework de PHP al que es muy sencillo agregar nuevas funcionalidades. Su documentación es tan básica como fácil de aprender, por lo que resulta un framework sencillo incluso para principiantes.
Flight incluye sistema de gestión de rutas, control de errores, peticiones AJAX y más cosas. A pesar de sus aceptables funcionalidades no es un framework recomendado para aplicaciones web excesivamente grandes.
Fat-Free
Fat-Free es un pequeño framework para PHP que a su vez es potente y fácil de utilizar. Ha sido desarrollado por Bong Cosca en el año 2009, siendo uno de los frameworks más ligeros, puesto que ocupa menos de 100KB. Está desarrollado utilizando PHP y dispone de sistema de gestión de rutas, soporte nativo para aplicaciones multilenguaje y sistema de caché.
Además dispone de varios plugins para un montón de sistemas de gestión de bases de datos como MySQL, SQLite, MSSQL, DB2, Sybase, CouchDB, MongoDB y PostgreSQL.
PHP Mini
Ya lo dice su nombre. PHP Mini es un ligero framework para PHP RESTful que resulta útil para pequeños proyectos y para el desarrollo de prototipos. Su código está escrito de un modo muy limpio y sencillo de entender.
Incluye las funcionalidades básicas para la gestión de bases de datos. Está escrito mediante PHP, por lo que es sencillo de modificar.
Simple PHP framework
Todo comenzó como un proyecto personal de un programador en el año 2006. Incluye sistema de autenticación, gestión de peticiones a bases de datos SQL… etc.
Más que de un framework, Simple PHP framework es un conjunto de librerías que puedes usar en tus proyectos.
En resumen
El uso de frameworks de PHP permite acelerar el proceso de desarrollo de las aplicaciones web que usan este lenguaje. Cada framework ofrece diferentes o únicas funcionalidades, por lo que se debe dedicar cierto tiempo a pensar en el más adecuado para cada proyecto, salvo que tengamos bastante experiencia en alguno, ganando así muchos puntos. Además de los que aquí se listan existen muchos más, pero podríamos decir que hemos hablado un poco de los más conocidos.
NOTA: El objetivo del artículo es dar a conocer algunos de los frameworks de PHP más utilizados. Solamente se listan algunas funcionalidades de cada framework, pero podéis verlas al completo en los enlaces.
Hola amigo, esta genial tu artículo, tu página también, la compartire, ayuda mucho para las tareas y trabajos, te seguiré mas de cerca, saludos desde México.
Gracias! Me alegro de que haya sido de utilidad :)
Hola todos,
Me parece perfecto el listado de Frameworks de desarrollo web de PHP que has mencionado en el post, mi nombre es Víctor Gracia y soy desarrollador de aplicaciones web y apps para dispositivos móviles, también trabajo a diario con algunos de los Frameworks que mencionas como Yii, Zend, Symfony o Laravel. Los últimos proyectos que he desarrollado han sido con Symfony 3, es un Framework muy potente, os lo recomiendo también.
Saludos
La información fue super útil, muchas gracias, solo creo que el titulo no es acertado con el contenido, en realidad te dan los mas utilizados, mas no te explican cual es el mejor y por qué… entiendo que uno mas usado podría tomarse con que «es mejor» pero no en todos los casos se cumple la regla, muchos ocupan un framework vs otro solo por la facilidad o la rapidez con la que se puede aprender…
Revisen kumbia php y decidan si hay algo mas sencillo que ese framework
La documentacion es un asco, pero la usabilidad del framework con su orm y su estructura es super facil
Gracias por compartir! Sería bueno agregar popphp, un microframework muy bien desarrollado, solo un comentario!
Saludos