Selección de los mejores frameworks PHP

Un framework como bien lo describe su término en ingles llega a ser un marco de trabajo, es decir una herramienta que esta compuesta por prácticas y criterios para afrontar y resolver problemas. En el desarrollo web son muy útiles ya que aceleran la creación y mantenimiento de nuestras aplicaciones web.

En este artículo realicé una selección de los frameworks PHP más utilizados en la web, no quiero enaltecer a ninguno en particular ya que cada quien tiene su preferido o está en la libertad de seleccionar uno acorde a sus necesidades, de tal forma es que esta selección no tiene un orden prioritario en particular.


En esta selección haré mención de cada uno de los frameworks junto con una descripción y algunas de sus características, el propósito del articulo es que tu puedas conocer y analizar las ventajas que te puede traer utilizar uno de estos frameworks, aclaro también que todas estas características fueron extraídas de las páginas oficiales de cada uno de estos. Siendo así comencemos 8-)

Zend Framework 2

Zend Framework 2

Muchos lo mencionan como el padre de los frameworks, Zend Framework 2 es un framework Open Source para desarrollar aplicaciones y servicios web usando PHP 5.3 +, utiliza al 100% de código orientado a objetos y utiliza la mayor parte de las nuevas características de PHP 5.3, es decir, espacios de nombres, funciones, vinculantes estáticos.

Entre sus principales características podemos mencionar que Zend Framework 2 es modular ya que se pueden construir bloques de código que pueden ser utilizados en otras aplicaciones, es seguro porque cuenta con herramientas de cifrado de código, es extensible porque se adapta fácilmente a las necesidades y desde luego cuenta con una gran comunidad para recibir ayuda y resolver problemas.

Utiliza PHPUnit para pruebas de código y Travis CI como servicio de integración continua, ofrece una aplicación robusta de alto rendimiento MVC, también cuenta con un componente de formularios que implementa HTML5, otros componentes a mencionar son de autenticación y permiso de usuarios. Dada la importancia de este framework se puede decir que empresas como Google , Microsoft , y StrikeIron se han asociado con Zend para proporcionar interfaces de servicios web y otras tecnologías que desean poner a disposición de los desarrolladores.

Página oficial: http://framework.zend.com/


Laravel

Laravel Framework PHP

Laravel es un framework PHP de gran potencia que compone de herramientas necesarias para desarrollar aplicaciones robustas con una sintaxis expresiva y elegante facilitando tareas comunes como la autenticación, enrutamiento, sesiones y almacenamiento en caché. Este framework intenta combinar lo mejor de otros frameworks como Ruby on rails, ASP.NET MVC y Sinatra. Esta demás decir que utiliza el patrón MVC (modelo-vista-controlador).

Utiliza ORM para sus bases de datos y cuenta con un gran sistema de migración, trabaja muy bien con MySQL, Postgres, SQL Server y SQLite. Ejecuta sus pruebas de código con PHPUnit y tambien cuenta con un sistema amplio de plantillas.

Página oficial: http://laravel.com/


CakePHP

CakePHP Framework PHP

CakePHP hace que tus aplicaciones web se realicen de una forma mas rápida y simple requiriendo menos código, puedes construir rápidamente tus aplicaciones con funciones para generar código y así poder utilizarlos como prototipos, su configuración para conexión a base de datos es demasiado simple de esa forma te despreocupas de este aspecto y te dedicas netamente a hornear tus aplicaciones. Utiliza un MVC bastante limpio de tal forma que puedes tener tu aplicación totalmente modularizado sin olvidar que también cuenta con sus respectivos componentes como el de autenticacion de usuarios, validación de datos, almacenamiento en cache y muchos otros.

CakePHP viene con herramientas integradas para la validación de entrada de datos, protección CSRF, protección de la manipulación de formularios, la prevención de inyección SQL y XSS ayudando a mantener la aplicación segura y estable.

Página oficial: http://cakephp.org/


Symfony

Symfony Framework PHP

Symfony es un framework PHP construido por varios componentes independientes creados por el proyecto symfony, aprender a programar con Symfony te da oportunidad para acceder a varios de sus proyectos que consta del framework Symfony2 para proyectos complejos y también cuenta con un mini framework Silex para sitios web más sencillos, su código, y el de todos los componentes y librerías que incluye, se publican bajo la licencia MIT de software libre. Los componentes de Symfony son tan útiles y están tan probados, que proyectos tan gigantescos como Drupal 8 , phpBB y eZ Publish fueron construidos con dichos componentes.

Según GitHub, Symfony es el proyecto PHP más activo, lo que garantiza que el proyecto siempre estará en constante actividad, sin ir mas lejos el líder del proyecto, Fabien Potencier, es la segunda persona más activa del mundo en GitHub (ver datos).

Página oficial: http://symfony.com/


CodeIgniter

CodeIgniter Framework PHP

Desarrollada por la empresa estadounidense EllisLab, CodeIgniter es un framework open source el cual tiene como objetivo permitir que los desarrolladores puedan realizar proyectos mucho mas rápido que creando toda la estructura desde cero proporcionando un amplio conjunto de bibliotecas para tareas comúnmente necesarias de tal forma que permite enfocarse en un proyecto minimizando la cantidad de código para una tarea determinada.

Su sistema esta basado en el patrón modelo-vista-controlador, contiene formularios y validaciones de datos, también cuenta con una manipulación de imágenes donde se puede recordar, re-dimensionar y rotar soportando librerías GD, ImageMagick, y NetPBM. Cuenta con componentes de localización, paginación, cache de almacenamiento de página completa, URLs amigables para motores de búsqueda y bibliotecas de funciones (Helpers).

Página oficial: https://ellislab.com/codeigniter


Yii Framework

Yii Framework PHP

Yii es un framework PHP de alto rendimiento para desarrollo de aplicaciones web adoptando la arquitectura MVC aplicando el principio de separación de preocupaciones (SoC), integrado con JQuery, Yii trae un conjunto de widgets AJAX como ser campos de auto-completado, vistas de árbol, cuadriculas de datos, etc, lo cual permite obtener una interfaz de usuario altamente eficiente y versátil. Yii también ha incorporado soporte de autenticacion manejando el control de acceso basado en roles jerárquicos (RBAC).

Yii está equipado con muchas medidas de seguridad y ayuda a evitar ciertos ataques tales como SQL injection, cross-site scripting (XSS), cross-site request forgery (CSRF) y modificacion de los cookies. También provee un conjunto de herramientas intuitivas y altamente extensibles para la generación de código esto con el fin de poder generar rápidamente el código que se necesita para funciones como las entradas de un formulario (CRUD).

Página oficial: http://www.yiiframework.com/


Prado

Prado Framework PHP

Prado es un framework basado en componentes y la programación orientada a eventos para el desarrollo de aplicaciones web, separa la presentación de la lógica del negocio de esa forma mantiene el código modularizado y extensible, utiliza componentes con múltiples funciones como controles de entradas HTML, validaciones, datagrid y asistentes, también comprende componentes de AJAX y módulos de almacenamiento en cache.

Prado también toma sus medidas de seguridad como la prevención de cross-site y protección de cookies y desde luego con una amplia documentación y comunidad activa.

Página oficial: http://www.pradosoft.com/


Flight

Flight Framework PHP

Flight es un micro framework PHP simple y extensible para realizar aplicaciones web RESTful. Este framework ya viene con un conjunto de métodos y componentes por defecto pero te brinda total libertad de asignar tus propios métodos, registrar propias clases e incluso anular las clases y métodos ya existentes. También proporciona soporte integrado para el almacenamiento de cache a nivel HTTP.

Página oficial: http://flightphp.com/


Medoo

Medoo Framework PHP

Medoo es extremadamente ligero con un solo archivo que pesa al rededor de 14 Kb, fácil de usar y fácil de aprender, optimizado para un alto rendimiento de esa forma aumenta tanto la experiencia de desarrollo como la experiencia de usuario, soporta bases de datos SQL, incluyendo MySQL, MSSQL, SQLite, MariaDB, Oracle, Sybase, PostgreSQL y más.

Medoo también toma en cuenta la seguridad previniendo inyecciones SQL y se encuentra bajo la licencia MIT es decir que puede ser utilizado libremente.

Página oficial: http://medoo.in/


PHPixie

PHPixie Framework PHP

PHPixie es un framework MVC PHP ligero diseñado para ser rápido, fácil de aprender y proporciona una base solida para el desarrollo de aplicaciones web, se concentra bastante en la velocidad de carga de la pagina web con fines de no sobrecargar el servidor. Proporciona una arquitectura modular y flexible que es fácil de aprender sobre todo por desarrolladores que ya pasaron por frameworks como CodeIgniter o Kohana.

Este framework trabaja con el Mapeo objeto-relacional (ORM) y también utiliza componentes de validación de entrada de usuario, cacheo, autenticacion y autorización de usuario.

Página oficial: http://phpixie.com/


Kohana

Kohana Framework PHP

Kohana es un framework HMVC (Modelo-vista-controlador jerárquico) que proporciona un conjunto de componentes para la construcción de aplicaciones web, muchos de estos componentes incluyen herramientas de traducción, acceso a bases de datos, perfiles de código, cifrado, validación, y muchos mas. Es un framework orientado a objetos por lo que esta construido usando clases y objetos.

La extensión de nuevos componentes y la adición de nuevas bibliotecas es realmente fácil y utiliza la licencia BSD, por lo que se puede utilizar y modificar para fines comerciales.

Página oficial: http://kohanaframework.org/


Pop PHP

PopPHP Framework PHP

Pop PHP es un framework compatible con PHP 5.3+ , originalmente contenía 9 componentes de tal forma que su atención se centro en la sencillez y la ligereza, hoy a pesar de mantener aun esa sencillez Pop PHP ya viene con muchas características nuevas. Este framework esta orientada a objetos y contiene una API fácil de usar sus componentes tales como autenticacion, cache, compresión, encriptación, filtros, fuentes email, gráficos, paginadores, servicio PDF, validador de entrada de datos entre otros más.

Página oficial: http://www.popphp.org/


Phalcon

Phalcon Framework PHP

Phalcon es un framework PHP basado en el patrón MVC y trabaja con el Mapeo objeto-relacional (ORM), bajo la licencia BSSD a diferencia de otros frameworks, Phalcon se implementa como una extensión escrita en C/C++ con el fin de optimizar el rendimiento de las aplicaciones web, con esto se pretende aumentar la velocidad de ejecución y optimizar el uso de recursos. El inconveniente es que se requiere acceso al servidor para su instalación pero no se necesitan conocimientos del lenguaje C ya que todo lo contiene su núcleo listo para trabajarlo con PHP.

Página oficial: http://phalconphp.com/es/


Aura

Aura Framework PHP

Aura es un conjunto de paquetes independientes que trabaja con PHP 5.4+ , estos paquetes se pueden usar solos o en conjunto con otros combinándolos en un completo framework. El objetivo de Aura es proporcionar alta calidad que cumplan estándares de programación aplicados a paquetes de bibliotecas independientes que pueden ser usados en cualquier código base, es decir que los desarrolladores pueden usar tanto o poco del proyecto según sus necesidades.

Estos paquetes son tan autónomos e independientemente para su descarga, en algunos casos este nivel de independencia puede dar lugar a cierta duplicación de clases entre paquetes por lo que se recomienda que sean utilizados en bases de codigo que no pertenezcan a aura.

Aura tiene suficientes bibliotecas para formar un framework coherente para el desarrollo de aplicaciones pero a tener en cuenta que estas bibliotecas se desarrollaron primero y no se acoplaron originalmente entre si para formar un framework.

Página oficial: http://auraphp.com/


Fat-Free

Fat-Free Framework PHP

Fat-Free (F3) es un micro framework potente y fácil de usar diseñado para ayudar a construir aplicaciones web dinámicas y robustas rápidamente, con una base de código súper ligero alrededor de 55 Kb es bastante fácil de aprender, usar y extender.

F3 es compatible tanto con SQL y bases de datos NoSQL off-the-shelf: MySQL, SQLite, MSSQL / Sybase, PostgreSQL, MongoDB y su propio Flat-File DB llamado Jig, también utiliza lo que es el mapeo objeto-relacional para la extracción de datos y el modelado que es tan ligero como el propio framework en concreto (sin necesidad de configuración).

También cuenta con protección contra spam y los ataques de denegación de servicio mediante el uso de controles DNSBL. Entre otras de sus características se puede hacer mención a su motor de plantillas que es realmente rápido y limpio, gestión de sesiones de bases de datos, lectores feed, RSS, atom, procesador de imágenes, servidor pingback, SMTP sobre SSL / TLS, herramientas para la comunicación con otros servidores, validación de datos y una variedad de plugins de su comunidad, realmente F3 es un framework bastante completo.
Página oficial: http://fatfreeframework.com/home


Simple MVC framework

Simple-MVC-framework PHP

Simple MVC framework tiene la característica de contar con una rápida configuración, con tan solo establecer la ruta del sitio y su controlador por defecto ya tienes todo listo para comenzar a desarrollar tus aplicaciones web, utiliza un gestor de base de datos MySQL usando PDO y puede ser intercambiado por MySQLI. Cuenta con una variedad de fuentes como twitter, facebook y tiene un foro dedicado para resolver dudas y aportar complementos para este framework.

Página oficial: http://simplemvcframework.com/


Slim Framework

Slim Framework PHP

Slim es un micro framework PHP que ayuda a escribir aplicaciones web simples pero potentes, cuenta con un enrutador potente usando métodos HTTP estándar y personalizados, prestación de plantillas con vistas personalizadas, también cuenta con cookies seguros con cifrado AES-256. Slim también utiliza inicios de sesiones con escritura de registros personalizados, este framework funciona con PHP 5.3+ y provee una configuración bastante sencilla.

Página oficial: http://www.slimframework.com/


FuelPHP

FuelPHP Framework PHP

FuelPHP es un framework MVC simple y flexible que funciona con PHP 5.3+ basado en las mejores ideas de otros frameworks, fue diseñado desde un principio para tener completo soporte a HMVC como parte de su arquitectura, pese a eso no se detuvo ahí ya que también se añadió ViewModels conocidos también como modelos de presentación lo cual da la opción de añadir una capa de gran alcance entre el controlador y la vista.

Casi todas las clases del paquete básico de FuelPHP pueden ser ampliados, es decir que se pueden empaquetar funcionalidades tanto para ampliar como reemplazar al núcleo de este framework para así poder mantener un sistema mas modularizado. Si hablamos de seguridad, FuelPHP codifica toda su salida para que sea segura y prevenir ataques XSS, también es compatible con la prevención de CSRF con tokens y tanto el filtrado de entradas como el generador de consultas ayudaran en la prevención de los ataques de inyección SQL

Entre otras de sus grandes características también utiliza ORM, componentes de autenticacion para usuarios/grupos y ACL básica, funciones hash seguras para contraseñas y variedad de características que valen la pena revisar.

Página principal: http://fuelphp.com/


Para finalizar realicé una exploración de las tendencias de búsqueda de algunos de estos frameworks con la herramienta Google trends, como ejemplo use los frameworks Zend Framework, CodeIgniter, CakePHP y Laravel. No quise incluir todos los frameworks anteriormente mencionados durante el artículo ya que la gráfica ni se entendería, pero observando este ejemplo tu mismo puedes usar la herramienta para poder explorar las tendencias de búsqueda de tu propia selección de frameworks.

google trends framewors PHP

Ahora te queda a ti elegir cual framework PHP esta acorde a tus necesidades, estoy seguro que te diste cuenta que varios de estos tiene muchas características en común, pero lo mas importante es que todos estos también tiene una característica única que es el de ayudarnos a desarrollar nuestras aplicaciones y agilizar este proceso de desarrollo, vale la pena checar cada uno de estos. Espero que este artículo te haya sido de mucha ayuda para así conocer estos frameworks, quizá a muchos de ellos ya los conozcas o hayas escuchado hablar de ellos en la web como así también hay otros que se presentaron mediante este artículo porque en mi punto de vista valen la pena mencionarlos.

Sin mas te pido que compartas el artículo para que así otros se beneficien y conozcan este maravilloso mundo de los frameworks, si conoces algún otro o simplemente quieres aportar con una sugerencia deja un comentario 8-)

Saludos!!!

firma emm

10 respuestas a «Selección de los mejores frameworks PHP»

    1. Hola Eddy, que bueno que esta información te sea útil, respecto a tu pregunta puedes usar varios de los que menciono con excepción de los que son llamados micro frameworks. Desde luego toma en cuenta que muy a parte del framework que elijas debes tener tus consultas muy bien elaboradas para así poder gestionar de manera optima todos tus usuarios. Saludos!!!

  1. Hola ya realize mi aplicacion en cakephp pero quiero ver tus videos porque aun me falta mejorar mucho en cakephp, una pregunta CUAL DE ESTOS FRAMEWORKS es tu preferido y porque?

    1. Hola Chris, respecto a tu pregunta el FW por el cual me inclino más es justamente CakePHP por el rápido desarrollo de aplicaciones web, si bien está basado en convenciones estrictas eso también lo hace ordenado, por otro lado el ORM que maneja es muy interesante, desde luego el patrón MVC y los componentes que nos provee como también gran cantidad de plugins para integrarlo en el FW. Desde luego muchos otros tienen similares características, otros más, otros menos pero en lo personal hasta ahora me inclino más por CakePHP. Adicionalmente estuve viendo Laravel y es también un FW bastante potente con muchas cualidades a explotar. Al final todo es cuestión de que vayas explorando los que más te interesen y desde luego que sean adecuados para el tipo de aplicaciones que quieras desarrollar. Si te decides por CakePHP te invito a que sigas los artículos y videos que publico en mi blog 8-) Saludos!!!

  2. Excelente articulo, al igual que tu me inclino por Cakephp he realizado varios proyectos y me parece, rapido, sencillo y bien ordenado en sus formas y funciones, en caso contraio Symfony la verdad q no me gusta para nada, lo veo muy poco orientado a un programador ya que tiene muchas cosas que hay mas que programarlas se debe configurarlas, claro es cuestion de gustos y destrezas

    1. Hola Felix, gracias por tu comentario y compartir tu opinión, ese es uno de los propósitos del artículo que todos podamos debatir sanamente sobre el tema. Saludos!!!

  3. Muy buen articulo y buen blog que tienes, explicas todo muy bien y no dejas escapar ni un detalle aunque sea muy obvio. gracias por compartir tus conocimientos, voy a ver tus videos de cakephp, ese framework lo deje de lado hace un año, estaba con la version 2.4…, lo deje de lado porque empece con ZF2 asi que hare el sistema que hice en ZF2 en cakephp

    1. Qué tal Hans, gracias a ti por el comentario y me da mucho gusto que puedas retomar tus conocimientos siguiendo el Curso de CakePHP, muchos éxitos y a echarle muchas ganas. Saludos!!!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *