Está en la página 1de 5

SEIP

Comparacin de Framework MVC en PHP 5

Proceso

Tipo de documento

Versin del documento

Versin de la aplicacin

Responsab le

Fecha de elaboraci n

Gestin de Proyectos de Software

Evaluacin de herramientas

0,1

0,1

Joel Gmez

08/06/2007

Comparacin de Framework MVC en PHP 5


La propia naturaleza de PHP como un lenguaje extremadamente liberal, no lo ata con ninguna tecnologa extra. Sin embargo, la mejora del modelo de OOP en PHP5 trajo aparejado un nmero importante de Frameworks (Cake, PRADO, Symfony, etc.) que se van agregando al lote del Zend Framework, aunque a decir verdad, ninguno logra imponerse fuertemente sobre el resto.

Grfica Comparacin Frameworks[1].


Framework PHP4 PHP5 MVC
1

Multiple DB's2

OR M
3

DB Object s4

Templa tes5

Cachi ng6

Validatio n7

Ajax
8

Auth Module
9

Modules
10

Zend Framework

CakePHP

Symfony Project Seagull Framework

WACT

Prado

PHP on TRAX ZooP Framework eZ Component s CodeIgnite r

#1: Indica si la plataforma llega con soporte integrado con Control de configuracin en Modo Vista. #2: Indica si la plataforma admite bases de datos mltiples sin tener que cambiar nada. #3: Indica si la plataforma admite un "object-record mapper", usualmente una implementacin de ActiveRecord.

#4: Indica si la plataforma incluye incluye otros objetos base de datos, como un "TableGateWay". #5: Indica si la plataforma tiene un dispositivo plantilla integrado. #6: Indica si la plataforma incluye un objeto "caching" o algn otro modo de "caching". #7: Indica si la plataforma tiene una validacin integrada o componente de filtrado. #8: Indica si la plataforma llega con soporte integrado para Ajax. #9: Indica si la plataforma tiene un mdulo integrado para manejar autentificacin de usuario. #10: Indica si la plataforma tiene otros mdulos, como un analizador RSS feed , mdulo PDF y otras cosas tiles. Zend Framework sigue siendo nuevo y bonito, y muy beta, tanto que todava existen algunas cosas a venir (como un mdulo de autentificacin de usuario), pero l ya tiene bastante. Aunque no tiene todos los mdulos que lo ajusten altamente a necesidades empresariales, el framework de Zend incluyen otros mdulos, para manejar los archivos del pdf, alimentaciones de RSS, servicios del Web (Amazon, Flickr, Yahoo), y ms. Tambin incluye diversos objetos de la base de datos, es extremadamente simple preguntar sobre tu base de datos, sin tener que escribir cualquier SQL t mismo. En estos momentos Zend no viene con un verdadero ORM. CakePHP. La versin estable tendr probablemente llena mucho ms la carta de comparacin CakePHP este framework es sobre todo un framework avanzado . MVC, con algunos mdulos adicionales agregados. Puede manejar la mayor parte del material de la base de datos, e incluye la ayuda para Ajax y la validacin de datos. Tambin tiene un usuario nico de acceso llamado mdulo de la autentificacin el enumera, que se puede utilizar para diverso acceso de usuarios a diversas partes de tu Web site de CakePHP Este framework es absolutamente . cuidadoso y rapido para usar, aunque el Web site de CakePHP es extremadamente confuso. No se parece haber una versin estable todava, que es un pedacito que sorprende, puesto que ha estado en desarrollo por varios meses. El proyecto de Symfony es un framework muy extenso, e incluso incluye un verdadero ORM, llamado full-blown, que es otro proyecto de cdigo abierto y probablemente de las mejores soluciones de ORM para PHP Symfony tambin . incluye una capa de abstraccin de la base de datos y Mojavi para la capa del modelo del Modelo-Vista-Controlador. Adems, reutiliza simplemente estos otros proyectos, en vez de reescribirlos, este framework tiene probablemente la

funcionalidad ms extensa, y esto se demuestra claramente. Las nicas dos desventajas a este marco son ese hecho de que no puede ver funcionado en PHP4, pero esto es bastante lgico considerndolo que necesita mucha nuevas caractersticas de PHP5, y que sea tan complicado. La mayor parte de las tareas, como la paginacin, se complican mucho ms en Symfony que en otros framework, y la simplicidad no describe definitivamente este framework. Seagull Framework se parece a un framework bastante bueno, y viene con el bastantes de caractersticas. Otra cosa positiva es que funciona en PHP4 tambin, la mayora de los anfitriones no apoyan PHP5 todava. Desafortunadamente la gaviota no viene con ninguna ayuda de Ajax, que sea un poco una vergenza, solamente vueltas simples de una bsqueda de Google una clase particular en la adicin de la ayuda t mismo de Ajax, y es probable l ser agregado en el futuro. WACT parece absolutamente prometedora, y tiene las cosas bsicas las necesidades de un framework, como MVC, base de datos y un motor de la plantilla. No tiene ningn mdulos adicional, y carece definitivamente algunas cosas incorporadas, como Ajax, cacheo, un mdulo de la autentificacin y ms. WACT tiene uno de los mejores motores de la plantilla, sin embargo, permite que crees tus propias etiquetas de la plantilla para agregar cierta funcionalidad. Prado es un framework muy nico, y ofrece algunas caractersticas realmente frescas. No viene con la ayuda incorporada para MVC, sino que tiene todas las clases de componentes para manejar la mayor parte de las tareas generalmente de PHP Por ejemplo, es posible fijar acontecimiento de un onClick en un botn del . HTML ese los acoplamientos a una funcin de PHP Esto se asemeja de cerca a . ASP .NET, y Prado contiene ms componentes de ASP .NET, como un GridView y un control del repetidor. Mirando la carta de comparacin puede ser que se parezca que Prado es un dbil en comparacin a los otros, pero ste no es verdad. PHP on Trax, este framework parece ser un puerto de PHP y de Ruby on Rails. Desafortunadamente la documentacin es absolutamente escasa, as que es duro determinarse lo que ofrece este framework, pero su documentacin menciona ActiveRecord, as que ofrece probablemente ActiveRecord, apenas como RoR. Otra cosa que incluye es ayuda para Ajax, y las dos versiones parciales de programa que se pueden encontrar en la demostracin del Web site. PHP on Trax, est en la manera correcta, pero todava est faltando algunas cosas, como un mdulo de autentificacin y un mdulo que cacheo. No tiene ningunos mdulos adicional, as que es todo el un framework bsico hasta los momentos.

ZooP Framework, realmente tiene buena caractersticas, apoya casi cualquier cosa, a excepcin de una capa de ORM. Es realmente excepcional considerando toda la funcionalidad que ofrece. Otras ofertas de ZooP son los controles incorporados del GUI, hacindolo muy fcil crear formularios rpidamente. Apoya la mayor parte de los elementos bsicos de los formularios, y esa ventaja de usar controles GUI sobre el HTML regular es que puedes integrar firmemente lgica de la validacin con los controles del GUI. eZ Components, no es tanto un marco, sino ms de una coleccin de componentes, y esto es probablemente porqu no viene con la ayuda incorporada para MVC. Viene con la mayor parte de los componentes generalmente, como un componente de la base de datos y un componente que cacheo, pero tambin est careciendo algunas otras cosas. Por ejemplo, no tiene un componente de ActiveRecord o un componente para la autentificacin. Por otra parte, tiene algunos otros componentes adicionales, como un componente del E-mail, pero no hay muchos, y otros framework (como el marco de Zend) ofrecen ms. CodeIgniter es relativamente un nuevo framework, al lado de los fabricantes de ExpressionEngine, y parece absolutamente prometedor. Desafortunadamente, no maneja bases de datos mltiples todava, aunque se est en los trabajos. Inspirado por Ruby on Rails, y ofrece mucha de la misma funcionalidad, como el scaffolding. Tiene documentacin excelente, e incluso han conseguido operar el manejos de clases particulares para videos. Cada Framework ofrece diversa funcionalidad, justo como la mayora de las cosas, viene a colacin la preferencia y la opcin personal. Personalmente, realmente tengo gusto por Symfony Framework en estos momentos, ya que, posse una documentacin completa y traducida al espaol [2], por su respecto a la estructura MVC se facilita su estudio y comprecin, adems, adopta los ORM y los ActiveRecords, pero como he estado investigando cada framework, de m he visto muchas otras caractersticas interesantes, como los acontecimientos de Prado o la puesta en prctica de ORM de Symfony. Si no se puede decidir absolutamente sobre que framework se utilizar, entonces se puede realizar lo que la mayora de la gente hace: escribir los propios. Puede tomar ms tiempo, pero es un infierno mucho de la diversin. Referencias 1.- http://lnx.googlewrite.com/chart.php 2.- http://www.symfony.es/

También podría gustarte