A veces cuando desarrollamos en web para ciertos proyectos que requiren agilidad extrema de desarrollo o sea siempre, no tenemos la posibilidad de ponernos a desarrollar todo desde cero y nuestra opción más viable es optar por el uso de frameworks. En el caso de php tenemos varias opciones muy buenas como Zend Framework, Cake php o Symfony.
En sentido web veo un post que resume una comparativa entre la opción de Zend y Symfony, publicada en karlkatzke.com, que llega a la siguiente conclusión:
- Comienzo: Symfony tiene mucha documentación y gente por detrás desarrollando y ayudando, algo de lo que anda un poco corto Zend.
- Testing: Symfony viene con tareas de testing por línea de comandos y genera una clase vacía para ello al crear un controlador. Mientras que Zend no ofrece soporte para testing.
- Plantillas: Zend tiene un sistema de plantillas un poco verde al que hay que hacerle algunos hacks para realizar algunas cosas. Symfony, al contrario, su sistema de plantillas es muy maduro, al cual le puedes añadir módulos.
- Plugins: más de lo mismo, Symfony es extensible, Zend no.
- Módulos de bases de datos: Zend usa ActiveRecord, mientras que en Simfony le puedes añadir el motor que desees, incluso Zend_Db.
Enero 17th, 2008 at 9:02 am
Jeje, ya te lo dije yo ;)
Zend se va a convertir tristemente en el nuevo PEAR…
Enero 17th, 2008 at 9:06 am
@Carlos PEAR? bufffffff un estraño escalofrio recorre mi cuerpo
Julio 3rd, 2008 at 9:07 pm
Necesito utilizar symfony pero con gestor de base de datos Sql server como conigurto el mismo ??
pues la actual configuracion que tengo me lanza estos 4 errores:
Warning: session_start() [function.session-start]: open(\xampp\tmp\sess_6f759f1b0438b70ccf955168a96d5b05, O_RDWR) failed: No such file or directory (2) in D:\Proyecto\CO\symfony-1.0.16\lib\storage\sfSessionStorage.class.php on line 77
Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at D:\Proyecto\CO\symfony-1.0.16\lib\storage\sfSessionStorage.class.php:77) in D:\Proyecto\CO\symfony-1.0.16\lib\storage\sfSessionStorage.class.php on line 77
Warning: Cannot modify header information – headers already sent by (output started at D:\Proyecto\CO\symfony-1.0.16\lib\storage\sfSessionStorage.class.php:77) in D:\Proyecto\CO\symfony-1.0.16\lib\response\sfWebResponse.class.php on line 264
Warning: Cannot modify header information – headers already sent by (output started at D:\Proyecto\CO\symfony-1.0.16\lib\storage\sfSessionStorage.class.php:77) in D:\Proyecto\CO\symfony-1.0.16\lib\response\sfWebResponse.class.php on line 274
Julio 3rd, 2008 at 10:25 pm
Hola Raul, conectar PHP Symfony a SQL Server es como beberte un cubata de Baileys con tonica. La verdad es que deberías conigurtarlo de otra manera. Conigurtar Symfony con MySQL es mucho más conigurtable.
MODE COÑA OFF: El error que te sale no tiene nada que ver con symfony ni con sql server, PHP sencillamente no es capaz de gestionar las sesiones supongo que por problemas de permisos en los archivos donde se almacenan.
Julio 4th, 2008 at 12:52 am
Veo que os interesa el tema symfony.
He probado y estoy leyendo la guía de php-arch para zend framework y no termina de gustarme.
Creo que voy a probar symfony, ya son varías personas las que me han dicho que lo pruebe (incluida tu Carlos) y si me gusta escribiré sobre ello en el blog.
Probaré sobre windows en principio, más que nada para llevar la contraria, como siempre.
Un saludo.
Julio 4th, 2008 at 6:33 am
PD: El conigurtador que lo conigurtee, buen conigurtador será (lo probaré cuando lleve unas cuantas cervezas encima a ver que sale xD)
Julio 7th, 2008 at 1:25 pm
Como que zend no es extensible? la mayoría de las clases vienen con un decorator base en la librería
Si el autor no sabe usar el patron de diseño decorator, y piensa que extensiblidad es una página donde bajarte plugins que se instalen simplemente pegandolos en una carpeta, bueno, allá él
No son un gran experto ni en symphony ni en zend framework, pero si se programar orientado a objetos
Julio 7th, 2008 at 1:50 pm
@Nico el autor se refiere a que symfony es extensible mediante plugins (habla solo de plugins cuando dice eso) y zend no, pero repito solo habla de plugins.
Yo tampoco soy ningún experto en ninguno de los dos frameworks, hasta ahora no me planteaba usarlos.
Symfony implementa decorator también a la hora de gestionar las plantillas y el layout.
De momento me voy a decidir por este framework ya que me lo ha recomendado bastante gente y Zend no termina de gustarme.
Un saludo!
Julio 7th, 2008 at 4:21 pm
Ambos son extensibles ya que ambos son opensource. Esto es como los que dicen que Gnome no es configurable. Como que no? Siempre puedes ir a tocar el codigo fuente…
Julio 8th, 2008 at 11:11 pm
@Alberto jaja. El departamento donde vivo tiene 2 habitaciones, pero bien puede tener 3, si pongo una pared al medio.
Extensible no quiere decir modificable abiertamente.
@Asier Esta bien la aclaración de plugin. A lo que yo me refería es que en Zend vos podés heredar una clase del Form Decorator Base (no me acuerdo bien el nombre), que extienda su funcionalidad, y a partir de ahí trabajar.
Yo uso mucho Cake, y por ejemplo no se puede cambiar el “motor” de vistas. Todo el framework esta altamente acoplado, ningúna parte esta preparada para ser intercambiada por otra. Eso es un principio de arquitectura orientada a objetos. Algunos frameworks directamente han optado por no hacer sus componentes internos intercambiables.
Puntualmente en cake me gustaría decorar ciertas custiones de los ruteos. Pero para hacerlo debo meterme en el código fuente del framework. No esta preparado para esa extensibilidad.
Otro ejemplo es el nuevo framework MVC de Microsoft, que aunque suene rarísimo, han decidido programarlo con bajo acoplamiento, entonces permite cambiar cualquiera de sus partes por otras opensource a traves de adaptadores. Se pueden usar las vistas de Castle, o el IoC structureMap.
No me parece tan importante si un fw es open source o no (desde el punto de vista arquitectónico), pero si que sea extensible porque fue pensado para ser extensible.
Perdón por la lengitud del comentario
Julio 9th, 2008 at 10:51 am
@Nico, mi comentario era altamente ironico
Julio 9th, 2008 at 9:01 pm
@Alberto Evidentemente no entendí tu ironía, perdón.
Ahora que lo veo desde el punto de vista irónico, esta muy bien tu comentario.
Que feo que es cuando pasa esto!
Julio 16th, 2008 at 6:37 am
[...] una serie de configuraciones en php/symfony y hacks en creole. (Espero que no os siente esto como un cubata de Baileys con tonica : [...]
Julio 16th, 2008 at 6:42 am
@Raul acabo de publicar un manual para trabajar con symfony y sql server 2005 http://asiermarques.com/2008/07/16/trabajar-con-symfony-y-sql-server-2005/
Julio 16th, 2008 at 6:57 am
@Nico en ese sentido estoy de acuerdo contigo. Por lo que cuentas parece que cake no es tan buena opción, al menos para mi.
En symfony por ejemplo, se puede extender el modelo mediante herencia a las clases generadas por el orm Propel, usa decorator en las vistas, el sistema de urls esta pensado para soportar cambios sin afectar a la aplicación…
Sinceramente creo que symfony es muy buena opción ahora mismo.
Agosto 31st, 2008 at 6:51 pm
Después de leer este post he decidido no seguir leyendo el resto… me parece bastante simple la comparación. El Zend Framework no tiene nada que ver con PEAR… y eso de que no es extensible… nada, nada, que me voy…
Septiembre 23rd, 2008 at 6:21 am
Mmmm a ver, empecé con Symfony en enero de este año, y me parece excelente, pero no tengo como opinar del cake por que no lo he usado, mas bien el zend si lo he estudiado un poco y no me pareció muy útil (había muchas cosas que con symfony se hacen más simples y elegantes).
La verdad con Symfony se puede hacer agilizar el desarrollo increíblemente por la forma como trabaja, usa lo que se conoce como benchmarking, es decir usa de todo lo mejor (incluso basó su sistema de routing en el del cake), y ahora en symfony 1.1 con su nuevo miniframework de formularios todo esta donde debe estar.
Y por si fuera poco pasearse por su código fuente es todo un placer, tan ordenado, tan elegante, el mejor concejo… pruébenlo y verán.
Octubre 3rd, 2008 at 9:32 am
hola a todos,estoy iniciando en Php y me gustaria saber que diferencia sustancial hay entre Pear y Symfony,entiendo que ambos son frameworks pero me gustaria saber algo mas.gracias y saludos.
Marzo 17th, 2009 at 4:32 pm
Hola, alguien sabe si estos Framework puedo configurarlo para que trabajen con 2 bases de datos distintas al mismo tiempo?
Saludos!
Marzo 18th, 2009 at 2:48 am
Janoterrano: claro que puedes usar 2 bds con symfony, yo lo he hecho a la mala pero debes dominar symfony… yo lo hice trabajando con propel para una y usando las variables dsn de symfony para la otra
Diciembre 2nd, 2009 at 6:57 pm
Me convencieron :)
Zend y Symfony tienen cada uno lo suyo y deben ir muy a la cabeza o hombro com hombro en algunas cosas pero ya en algunos aspectos que han comentado (y que yo mismo he leido en otras partes, webs, irc) selecciono a Symfony para algo en lo que necesito el patron mvc y singlenton.