2008-11-19 15 views

Respuesta

7

Un Framework de PHP en mis ojos es una colección de clases que lo ayudan a desarrollar una aplicación web.

En mi empresa utilizamos Zend Framework. Debo decir que comenzar con este Framework es bastante difícil, pero si obtienes cómo usar el API y la Guía de Referencia, tienes un gran Framework. También es interesante porque tienen personas Zend sentadas en el proyecto para que puedan usar esos trucos internos y obtener algunos aumentos de rendimiento que otros no pueden obtener.

Lo que también diferencia a ZF de los demás es la capacidad de crear programas MVC sin grandes molestias.

+0

"para que puedan usar esos trucos internos y obtener mejoras en el rendimiento que otros no pueden obtener". - eso es una mierda. Zend Framework está escrito en PHP puro, por lo que no tiene más funciones disponibles que los demás. Cómo usas PHP es una pregunta diferente. – cweiske

27

Preguntar a un foro de programación qué es un buen marco es como preguntarle a un foro de automóvil qué es un buen auto. Las opiniones varían enormemente, y en el 95% de los casos, realmente no importa lo que elija, siempre y cuando se desarrolle activamente. La mayoría de sus respuestas se basarán en la religión y no en comparaciones subjetivas. :)

14

Esencialmente un marco es la estructura en la que puede elegir construir su programa. Puede permitirle conectarse a muchas API diferentes, así como determinar la estructura de su propia aplicación. Yo uso Zend Framework. No es lo más fácil de aprender, pero ciertamente tiene todo lo que necesita para una gran aplicación. Sugiero que repase la guía QuickStart en el sitio para que todo salga bien. Utiliza Model-View-Controller, que es esencial en mi opinión. Una vez que lo tienes configurado, ¡hace las cosas extremadamente fáciles!

Otros marcos incluyen CodeIgniter y Symfony. Algunos como CodeIgniter para su huella más pequeña. Es todo una cuestión de preferencia. Cualquiera que elija, asegúrese de utilizar la documentación en los sitios, ya que es esencial para entender la mejor manera de usarlo. Además, no tengas miedo de alcanzar el código de vez en cuando solo para comprender mejor cómo funcionan las cosas.

2

PHP framework es una biblioteca que facilita la vida del desarrollador del sitio, por ejemplo, al ocultar algunas complejidades del protocolo HTTP o al agregar algunas funciones útiles. Por ejemplo, el CakePHP implementa el llamado MVC que hace que el desarrollador piense que es un nivel más alto que HTTP. Esto es lo que he aprendido hasta ahora.

+2

También lo encadena a PHP4. Querido señor, no. D: < –

+0

Ya no. Sé que estoy respondiendo a una publicación de hace dos años, pero solo me estoy asegurando de que alguien que lea esto para aprender sobre frameworks (por ejemplo, yo) no piense que todavía es el caso. :) – Vache

10

Los marcos proporcionan andamios que pueden permitirle desarrollarse más rápido/más limpiamente. A menudo proporcionan conjuntos de herramientas tanto para los componentes de la interfaz de usuario como para el acceso a la base de datos subyacente.

Para proyectos (muy) pequeños, un marco puede ser excesivo, pero a menudo es útil proporcionarle muchos códigos reutilizables.

Algunos marcos notables para PHP: Zend Framework CodeIgniter Symfony CakePHP Mojavi

A comparison chart. A more detailed review site.

+0

No todos los marcos usan andamios, es decir. codigo de GENERACION. Creo que al menos Zend y CI no hacen eso. – PhiLho

2

Hay mucho que decir acerca de los marcos - y buenas críticas aquí. Sin embargo, tenga en cuenta que no siempre son la mejor solución.Razones por las que podrían preferir evitar dichas prácticas son

  1. Debido al tamaño base de código que tienden a ser lentos (he visto figuras de 10 veces más lento sencilla PHP entrega página incrustada cotizados para Zend por ejemplo - obviamente una de las los más grandes).

  2. Pueden ser inflexibles fuera del 'dominio' con el que están destinados a trabajar. Ampliar un marco para hacer algo que no es estándar puede ser mucho más difícil que simplemente codificar desde cero.

  3. Se requiere sacrificar la modularidad. La ventaja de utilizar un sistema de archivos de plantilla/control más simple (como TinyButStrong) es que cada página es una unidad distinta, lo que naturalmente hace que su sistema sea más fácil de probar y robusto.

  4. Tienden a ser vulnerables a los problemas de control de versiones. Está muy bien y es bueno desarrollar el primero, pero después de tener una docena de sitios web desarrollados, lo más probable es que descubras que has estado utilizando tres o cuatro versiones de lanzamiento del framework y tienes un montón de bases de código para trabaje con - y sincronizar todo lleva tiempo que probablemente no tendrá.

Ninguna de las anteriores son argumentos concluyentes contra el uso de un marco, en muchos (la mayoría?) De los casos las ventajas puntuarán más alto, pero no debe estar llegando a uno sin considerar primero cuáles son sus necesidades y qué es la mejor solución para cada problema en particular.

+0

¿actualizan los marcos (como Zend, por ejemplo) para trabajar con las nuevas versiones de PHP sin la necesidad de que cambie mi código? excepto reemplazando el marco con el nuevo) ...? –