2010-01-14 25 views

Respuesta

0

En su caso me gustaría ir con (en este orden):

  1. Kohana
  2. Zend Framework

Puesto que son más fáciles de recoger (especialmente para un principiante) que sinfonía

16

No recomendaría ningún framework a alguien que sepa lo básico. En su lugar, sugeriría tener un control firme de OOP y los patrones de diseño más comunes primero, porque eso es lo que encontrará en estos marcos. Tampoco está de más saber utilizar las diversas librerías y extensiones de PHP disponibles.

+3

De acuerdo con Gordon. No tiene sentido saltar a ninguno de los marcos cuando apenas rascas la superficie. Ese precioso tiempo debería emplearse en el aprendizaje de mysql, mysqli, PDO, procesamiento de cadenas, RegEx, cookies, sesiones, GD2 y, por supuesto, OOP & Design Patterns en lugar de frameworks. – Viet

+0

No estoy de acuerdo.De hecho, todos los desarrolladores senior de mi equipo trabajan en la construcción de frameworks y API, mientras que los desarrolladores junior son mucho menos propensos a cometer errores al trabajar con frameworks. Dios no lo quiera si no usamos marcos, el código estaría por todos lados. Me instalé con CodeIgniter después de evaluar todo lo anterior. Kohana no es un producto maduro, por ejemplo, no le importa la compatibilidad con versiones anteriores, lo que significa que es bueno para el aprendizaje, pero no para la producción. – aleemb

+2

@aleemb No creo que los frameworks hagan que los juniors escriban código menos erróneo. Si los juniors no tienen ni idea sobre el OOD correcto, escribirán el código de espagueti de OO, p. un error común entre principiantes con los frameworks MVC es crear controladores de grasa y modelos anémicos. Esto generalmente conduce a la duplicación de código, que básicamente es * código por todas partes *. También suelen favorecer la herencia y la composición sobre la agregación. O codifican contra implementaciones concretas en lugar de interfaces. Ambos conducen a estructuras monolíticas y difíciles de mantener. Los marcos ayudan a resolver problemas concretos, no a escribir códigos limpios. – Gordon

3

Aunque ZF está bien establecido y bien documentado, sugeriría Kohana ya que es bastante menos complejo. Es muy fácil comenzar a jugar con él simplemente descargando o clonando la aplicación de muestra desde github.

Symphony no es para principiantes. No estoy de acuerdo con que los marcos en general no sean para principiantes. Comenzar con un archivo en blanco y sin marcos deja todo el diseño arquitectónico a la mano de alguien que no tiene idea de lo que está haciendo mientras comienza con un marco liviano, como Kohana le ofrece una plataforma y documentación bien organizada para comenzar a ejecutar. Aprender OO sin ningún ejemplo que lo guíe es muy difícil ya que usted no sabe cómo es el buen diseño de OO.

Después de descargar/clonar la aplicación de muestra Kohana, pulse docs y estará escribiendo código OO bien diseñado en muy poco tiempo.

6

Creo que los marcos son una espada de doble filo para los principiantes. Es posible que pueda hacer más en menos tiempo en muchos casos, pero en otros casos (no pocos) cometerá errores porque no comprende la complejidad del código del marco. Creo que deberías poder leer un marco y entender su arquitectura si quieres usarlo.

Dicho esto, parece que las grietas reales usan Symfony. Podría ser o podría ser el mejor, más versátil y poderoso framework que existe. Pero definitivamente necesita una gran comprensión de los principios de la programación, así como de la tecnología web y la tecnología de servidor en general.

También muy potente y mucho más fácil para empezar es Zend Framework. Definitivamente puede hacer mucho más por ti que Kohana.

Si desea un marco liviano, Kohana es una buena opción también. Los últimos meses han recorrido un largo camino y creo que se está estableciendo rápidamente como el nuevo favorito ligero.

Así que, en general, los tres frameworks que mencionas son los tres principales frameworks en el mercado de PHP framework en este momento y no te equivocarás con ninguno de ellos.

+2

Ellos framework se llama "symfony";) –

1

Para un principiante y usando los tres ejemplos que dio yo diría que comience con Kohana (o Code Igniter) por estos motivos.

  1. Es un marco ligero que es un buen punto de partida para el desarrollo de PHP completo, ya que sirve como una guía en la forma de organizar un proyecto en un idioma que no tiene mucha estructura en su propia
  2. Presenta conceptos básicos de MVC.
  3. tiene características básicas que serán útiles en cualquier proyecto PHP, por ejemplo, el almacenamiento en caché, filtrado de datos, etc

yo a continuación, pasar el Zend Framework si va o se esfuerzan por trabajar en proyectos más grandes por estas razones:

  1. documentación Kohana se carece en gran medida (es manejable para un principiante porque se termina metiendo alrededor y ver lo que hace que una garrapata marco para que no ven como el código sagrado nefasto que es una ventaja, pero en un proyecto de gran envergadura con líneas de tiempo es molesto)
  2. Kohana hace cumplir ciertas convenciones que es a menudo inconveniente en grandes proyectos
  3. Carece de características maduras que son útiles en el desarrollo "empresarial", p. un sistema de prueba unitario decente (hay módulos de phpunit rudimentarios para usar en Kohana y ciertamente puede usar PHPUnit base pero en contraste Zend Framework ha extendido la funcionalidad de PHPUnit para mejorar su suite)
  4. Mejor soporte. Zend framework tiene a Zend Company detrás, así como a una gran comunidad. Esta es una gran victoria para ellos porque se impregna en todo lo relacionado con el marco, p. la configuración está pensada mucho mejor en Zend Framework, las características de seguridad más robustas, la carga automática de clases adecuada basada en el espacio de nombres PEAR, y tiene una plétora de componentes aportados. Algunos de estos beneficios se pueden encoger de hombros al comenzar, pero se vuelven invalorables cuando se realizan proyectos de gran envergadura.

No he usado Symfony, pero por lo que puedo decir, también tiene algunas características útiles una vez que se familiarice con PHP (mejor ORM, mejor andamiaje, etc.). Sinopsis: Kohana es un buen comienzo, pero te aconsejo que no te alojes allí si planeas entrar en PHP más allá de sitios pequeños.

0

Siempre me pregunté por qué la gente dice que no proporcionar un sistema de prueba unitario es un inconveniente importante en un marco. Así, probando que la aplicación es su responsabilidad y se debe utilizar las herramientas que le resulte más cómodo. Yo, por ejemplo, prefiero SimpleTest y que se sienten molestos con el marco que viene incluido con y promover el uso de su propio sistema de prueba. ¿Por qué aprender otro sistema de prueba unitaria cuando SimpleTest es más que suficiente?

en cuenta que proporcionar un sistema de prueba de la unidad y la unidad de ensayar el sistema es dos cosas completamente diferentes. El marco debe ser probado por unidades, punto. Pero para esta tarea, los desarrolladores del framework pueden usar la herramienta que prefieran. Incluso pueden rodar su propio marco de prueba (parece que algunas personas nunca aprenden y reinventan la rueda). Sin embargo, (en mi humilde opinión) la prueba marco debe mantenerse separada del marco mismo. Ni siquiera debería incluirse en el marco tarball, sino que debe mantenerse como un paquete separado que interesa solo a los desarrolladores del framework.

Just my 2c.