Foros del Web » Programando para Internet » PHP » Zend »

Symfony vs Zend Framework

Estas en el tema de Symfony vs Zend Framework en el foro de Zend en Foros del Web. Hace un tiempo empecé un proyecto con symfony pero por aquella época no había mucha documentación y realmente la instalación era de lo más complejo, ...
  #1 (permalink)  
Antiguo 24/05/2006, 07:23
 
Fecha de Ingreso: septiembre-2005
Mensajes: 142
Antigüedad: 18 años, 6 meses
Puntos: 3
Symfony vs Zend Framework

Hace un tiempo empecé un proyecto con symfony pero por aquella época no había mucha documentación y realmente la instalación era de lo más complejo, ahora es sorprendente la documentación, tutoriales wikis... que se ha generado al respecto.

Pero el último proyecto que emprendí me decidí por Zend Framework en la versión 0.12 actualmente van por la 0.13, como está incompleto decidí envolverlo con con smarty y quickform, también con el plugin de gettext() para smarty ya que el proyecto tenía que ser multiidioma.

La verdad es que me ha dejado fascinado se parece mucho a mi propio framework solo que el de Zend es bastante superior las cosas como son, gracias a eso he podido aprender una cantidad ingesta de soluciones elegantes. Utiliza Active Records, PDO una abstracción de base de datos mucho más potente y rápida que adodb, me gusto mucho la idea de la autocarga de clases, para enriqueplace tan preocupado por los package, es decir cualquier clase del framework no necesita require_once o include éstas se cargan en tiempo de ejecución.

El inconveniente es multiidioma que no está implementado (en symfony sí) (i18N), control de formularios (Zform está en proceso de incubación podeis verlo en el subversión de Zend Framework), y en la parte de la vista el tema de cache, por eso utilice smarty. Aun así una de las cosas buenas que veo es la facilidad de incluir paquetes externos la verdad es muy simple.

Que opinais, alguien ha probado alguno de estos dos framework ¿?

Última edición por Casuis; 24/05/2006 a las 07:35
  #2 (permalink)  
Antiguo 24/05/2006, 11:11
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 10 meses
Puntos: 32
Essteee... como tenía las orejas coloradas, supe que hablaban de mi

Hace un tiempo que he probado muy por arriba los frameworks existentes, que por ser tantos, no me he terminado de decidir. Muchos de los "criterios extremos" que manejé (principalmente por la cantidad de información a procesar y el poco tiempo disponible) fue la facilidad de instalación y la documentación. Considero que si un proyecto de software no es fácil de instalar y usar es porque los desarrolladores no le dedicaron tiempo a transmitir los conocimientos a los posibles usuarios nuevos, y si un proyecto no tiene usuarios, corre riesgo su razón de existir.

Al final, siempre termino optando por "desarrollos oficiales", a menos que los "no oficiales" sean descaradamente superiores. Estuve leyendo sobre Zend Framework, leí lo que tu comentas (y mis ojos se pusieron "brillantes" ) y ya estaba por meterme con más profundidad en el tema.

Hasta ahora, las únicas pruebas que he hecho son de instalación, y algún ejemplo de la documentación, nada más.

Pero bueno, si cuentas un poco más los beneficios que has obtenido puede ser que en pocos días me ponga de lleno a usarlo
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #3 (permalink)  
Antiguo 31/05/2006, 08:57
Avatar de edwinandlozano  
Fecha de Ingreso: octubre-2003
Mensajes: 272
Antigüedad: 20 años, 5 meses
Puntos: 0
Hola Casuis .. bueno es muy interesante el tema del framework de Zend.. pero me gustaria que citaras las ventajas de PDO sobre ADOdb.. ya que estoy por comenzar a jugar con el framework pero pienso no utilizar su capa de persistencia sino la de ADOdb... y seria bueno tener tus opiniones antes de comenzar...
  #4 (permalink)  
Antiguo 31/05/2006, 10:38
Avatar de edwinandlozano  
Fecha de Ingreso: octubre-2003
Mensajes: 272
Antigüedad: 20 años, 5 meses
Puntos: 0
hum pos bueno .. leyendo un poco sobre PDO esta muy bacano...
http://www.php.net/pdo
  #5 (permalink)  
Antiguo 31/05/2006, 13:04
 
Fecha de Ingreso: septiembre-2005
Mensajes: 142
Antigüedad: 18 años, 6 meses
Puntos: 3
Cita:
Hola Casuis .. bueno es muy interesante el tema del framework de Zend.. pero me gustaria que citaras las ventajas de PDO sobre ADOdb.. ya que estoy por comenzar a jugar con el framework pero pienso no utilizar su capa de persistencia sino la de ADOdb... y seria bueno tener tus opiniones antes de comenzar...
Bueno unas anotaciones antes de que empieces.
Diferencia entre Adodb y PDO

Adodb y PDO presentan una capa de abstracción de base de datos. Lo que significa que proporcionan una adaptación de acceso a la base de datos. Lo que significa que para ejecutar sentencias por ejemplo:

Código PHP:
$sql " select * from mensajes";
$rs $db->Execute($sql
Esta sentencia seleccionará todos los registros de la tabla "mensajes" independientemente de si esa tabla está almacenada en una base de datos mysql, sqlite, postgress...
Lo único que hay que definir el dns de la base de datos nada más luego el acceso se hace transparente.
Esto es muy util para proyectos empresariales, sobre todo en migraciones de proyectos. De esta manera no tendremos que retocar código si decidimos pasar de mysql a postgress o de postgress a Oracle.

Ahora las diferencia para mi son bastante grandes.

ADODB está programado en PHP sin embargo PDO son librerias dinamicas programadas en C que es el lenguaje más rápido del mundo.
ejemplo de librerias de PDO:
Código:
extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_informix.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
ADODB está diseñado para soportar diferentes versiones de PHP como la 4 o la 5.
PDO está diseñado exclusivamente para PHP5 y aprovecha todo su potencial, cosa que lo hace más eficiente
una muestra de código de PDO extraída del manual php

Código PHP:
<?php
try {
   
$dbh = new PDO('mysql:host=localhost;dbname=test'$user$pass);
   foreach (
$dbh->query('SELECT * from FOO') as $row) {
     
print_r($row);
   }
   
$dbh null;
} catch (
PDOException $e) {
   print 
"Error!: " $e->getMessage() . "<br/>";
   die();
}
?>
Vemos como PDO utiliza el nuevo sistema de excepciones...

Ahora no todo es malo en Adodb nada más lejos de la realidad.
Adodb al estar tan extendido es muy adaptable para cualquier proyecto independiente de la versión que utilices, de hecho está preparado para utilizar las ventajas de la versión 5 de PHP.
Adodb es más maduro. PDO hasta no hace mucho era un repositorio PECL inestable.
Adodb tiene versiones compiladas alguien las ha probado? para hacerlo más eficiente.
Adodb proporciona acceso a PDO también aunque no te lo recomiendan(puedes leerlo en la documentación).

En Zend Framework por ejemplo si creas un objeto Zend_Db_Table que representa una tabla en la base de datos y luego añades un campo extra a la tabla automaticamente se añadira al objeto tambien sin tener que tocar nada de código.
Una de las perlas que tiene Zend Framework.

Pero para mi uno de los mayores logros ha sido la implementación de Lucene a php.
Zend_Search es un clon de Apache Lucene. Apache lucene puede indexar más de 65000 documentos en menos de 1 o 2 segundos. Ahora con Zend Framework podemos implementar un buscador propio hecho a nuestra medida con dos clases nada más. Estas son algunas de las perlas de Zend Framework.
Por cierto tiene licencia new BSD !!!
Cualquier duda preguntar

Última edición por Casuis; 31/05/2006 a las 13:28
  #6 (permalink)  
Antiguo 31/05/2006, 13:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Como acotación (aunque ya se mencionó por encima ..) .. ADOdb también tiene una versión "extensión" (tanto para windos pre-compilada como una .dll como para sistemas *NIX) ..

Cita:
Speed Up Your PHP Code with the ADOdb extension
Adodb-ext-504.zip provides up to 100% speedup by replacing parts of ADOdb with C code. ADOdb will auto-detect if this extension is installed and use it automatically. This extension is compatible with ADOdb 3.32 or later, and PHP 4.3.*, 4.4.*, 5.0.* and 5.1.*. Source code for all platforms and and binaries for Windows included.
26 Nov 2005 released 5.1 compatible version.

27 July 2005, released 4.4 compatible version.

29 Nov 2004, released thread-safe PHP4 and PHP5 compatible version, with fewer dll dependancies. PHP 5: tested on RedHat8 on WinXP. PHP 4.3.3: tested on RedHat8, WinXP and Win2000.
Fuente .. la documentación de Adodb
http://adodb.sourceforge.net/

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 31/05/2006 a las 14:38
  #7 (permalink)  
Antiguo 01/06/2006, 10:39
Avatar de edwinandlozano  
Fecha de Ingreso: octubre-2003
Mensajes: 272
Antigüedad: 20 años, 5 meses
Puntos: 0
Gracias a todos por la info.. aqui dejo unos links que hablan sobre PDO:
PDO y Oracle:
http://www.oracle.com/technology/pub...o_oracle5.html
PDO Basics
http://wiki.cc/php/PDO_Basics
  #8 (permalink)  
Antiguo 02/06/2006, 08:36
Avatar de edwinandlozano  
Fecha de Ingreso: octubre-2003
Mensajes: 272
Antigüedad: 20 años, 5 meses
Puntos: 0
Una pregunta, si estoy realizando mi proyecto con el zend framework, y cuando termine... hay una menera de "empaquetar" mi proyecto con las funcionalidades que utilize del framework???

De antemano gracias por la informacion que me puedan dar.
  #9 (permalink)  
Antiguo 02/06/2006, 15:31
 
Fecha de Ingreso: septiembre-2005
Mensajes: 142
Antigüedad: 18 años, 6 meses
Puntos: 3
A qué te refieres con empaquetar?¿?
  #10 (permalink)  
Antiguo 02/06/2006, 15:37
Avatar de Hereje  
Fecha de Ingreso: junio-2002
Ubicación: Córdoba, Argentina
Mensajes: 439
Antigüedad: 21 años, 9 meses
Puntos: 2
No creo que sea posible! ¿Eso que hace Visual Basic por ejemplo?
__________________
Sergio
  #11 (permalink)  
Antiguo 02/06/2006, 16:18
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 10 meses
Puntos: 32
¿Algo como esto?

PHAR
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #12 (permalink)  
Antiguo 02/06/2006, 17:46
Avatar de shinblood  
Fecha de Ingreso: diciembre-2003
Ubicación: lima
Mensajes: 214
Antigüedad: 20 años, 3 meses
Puntos: 1
PDO no soporta mysql 5 (segun la documentacion ) que pena :(
__________________
saludos :adios:
  #13 (permalink)  
Antiguo 03/06/2006, 05:13
 
Fecha de Ingreso: septiembre-2005
Mensajes: 142
Antigüedad: 18 años, 6 meses
Puntos: 3
Cita:
PDO no soporta mysql 5 (segun la documentacion ) que pena :(
¿De donde sacaste eso? yo utilizo PDO con mysql5 y con el motor INNODB y tengo ningun problema podrías facilitar algún enlace donde lo indique?
  #14 (permalink)  
Antiguo 03/06/2006, 10:31
Avatar de edwinandlozano  
Fecha de Ingreso: octubre-2003
Mensajes: 272
Antigüedad: 20 años, 5 meses
Puntos: 0
Hola a todos.. bueno vamos por partes, lo de empaquetar me referia a que si yo utilizo el Zend Framework para mi proyecto entonces al finalizar el proyecto quedaria conformado por las librerias que utiliza el framework + el codigo que he generado.. ahora si yo deseo crear un instalador entonces me tocaria que incluir todo el framework (incluyendo librerias que yo no estaria utilizando) .. no se si hay una forma de sacar solo las cosas que utilizo del framework+mi proyecto para no dejar codigo que no estaria utilizando.. no se si ahora me han entendido...???
Con lo que dice shinblood de que PDO no soporta mysql 5 es porque en el manual de PDO indican que solo soporta mysql 3.X y 4.X (http://www.php.net/manual/es/ref.pdo-mysql.php), pero tambien cita lo siguiente:
Cita:
PDO_MYSQL will take advantage of native prepared statement support present in MySQL 4.1 and higher
enriqueplace gracias por el link sobre PHAR, tambien apuntaria para utilizar ese metodo.

A todos gracias por la informacion que han aportado.
  #15 (permalink)  
Antiguo 03/06/2006, 12:23
Avatar de shinblood  
Fecha de Ingreso: diciembre-2003
Ubicación: lima
Mensajes: 214
Antigüedad: 20 años, 3 meses
Puntos: 1
de aqui lo saque
http://www.php.net/manual/es/ref.pdo.php

en tabla de PDO Drivers
__________________
saludos :adios:
  #16 (permalink)  
Antiguo 03/06/2006, 14:06
 
Fecha de Ingreso: septiembre-2005
Mensajes: 142
Antigüedad: 18 años, 6 meses
Puntos: 3
Ni caso pruebalo ya veras como si te chuta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:36.