Pregunta

Empecé a escribir algunas aplicaciones en PHP y me estoy familiarizando con el lenguaje. Alguien me habló de CakePHP y CodeIgniter. Quería comprender mejor cómo podrían ayudarme, y si vale la pena dedicar tiempo a aprender un marco.

¿Fue útil?

Solución

¿Cuáles son los beneficios de usar MVC PHP frameworks?

Bueno, hay muchos beneficios de usar marcos PHP, veamos algunos de los principales beneficios de usarlos.

  1. Estos marcos PHP siguen algunos patrones de diseño, por lo que cuando utiliza un marco, debe seguir su convención de codificación, lo que hace que su código sea limpio y extensible para futuros propósitos.
  2. Los marcos PHP populares como CakePHP, CodeIgniter, Zend Framework, Symfony siguen el patrón de diseño del Controlador de Vista Modelo (MVC) que separa la lógica empresarial de la interfaz del usuario, lo que también hace que el código sea más limpio y extensible.
  3. Como todos pueden adivinar, estos marcos contienen muchas bibliotecas para facilitar su trabajo. Por ejemplo: para validar un formulario no tiene que escribir tanto código como tiene que hacer en el escenario de codificación normal (sin usar un marco), solo unas pocas líneas de código que llaman a la biblioteca suelen ser suficientes para ello.
  4. Al trabajar en un proyecto grande en un equipo, un marco de trabajo de MVC PHP será una gran herramienta para el desarrollo, ya que puede asignar un desarrollador para desarrollar una parte de un módulo para un desarrollador y la integración será bastante fácil de estos módulos desarrollados en el nivel final.
  5. Estos marcos MVC realmente te ayudan a desarrollar el proyecto rápidamente, si conoces bien un marco, entonces nunca te preocuparás por la fecha límite del proyecto.
  6. La mayoría de estos marcos MVC utilizan un enfoque de URL claro que hace que su proyecto web sea amigable con SEO.

verifique el artículo

Otros consejos

Mi filosofía es que solo debes usar algo cuando resuelva una necesidad que tienes actualmente.

Hay una tendencia real, particularmente en este ámbito, a usar un marco simplemente para usar uno o porque sientes que deberías estar usando algo. Yo desaliento tales prácticas. También creo que los frameworks tienen más valor cuando has hecho las cosas de la manera más difícil para que entiendas bien qué problemas tienes y cómo el framework te puede ayudar en esa situación . La elección del marco depende de la situación.

Dicho todo esto, el patrón MVC con aplicaciones web es útil, por lo que ciertamente no te hará daño aprender al menos una. Sin embargo, me atendría a un marco bastante minimalista. CodeIgniter viene a la mente aquí.

Por último, el otro peligro con los frameworks es que pueden ser tan invasivos que ya no estás haciendo PHP, estás haciendo CakePHP, Symfony o lo que sea. Eso no es necesariamente un problema, pero el peligro de que sea tan invasivo es que no obtienes una buena base en PHP y si alguna vez quieres cambiarlo, simplemente será demasiado difícil que nunca podrás hacerlo.

Una de las grandes ventajas de los frameworks PHP es que minimizan la reinvención de la rueda en un gran número de necesidades comunes de aplicaciones web. Los problemas de seguridad, el manejo elegante de las excepciones, las URL RESTful y la reutilización del código en su sitio son consideraciones bastante universales.

Puede resultarle más fácil familiarizarse con las herramientas de un marco y luego ver si desea asumir el sistema MVC completo que admite. Para ese fin, sugiero que se familiarice con el Marco Zend. ZF funciona como una biblioteca de clases que se pueden implementar individualmente para usos particulares, desde seguridad hasta búsqueda de Lucene, pero contiene clases que, cuando se usan juntas, implementan un paradigma MVC completamente desarrollado.

solo quiero contar mi propia experiencia en programación, Aunque todavía soy novato

  1. primero, al usar el marco te acostumbrarás a su estilo / regla de codificación, lo cual es bueno porque la mayoría del marco está profundamente pensado sobre cómo escriben su código. en resumen, obtengo un mejor estilo y un código más limpio
  2. Por lo general, el marco viene con muchos arsenal (complementos y / o bibliotecas), que puede encontrar en Internet, lo que reducirá el tiempo de codificación y reducirá el tiempo perdido. En resumen, puede hacer su propio tiempo precioso pensando en el proceso empresarial
  3. con el uso de un marco de código abierto, hay otros programadores que ya saben y probablemente dominan el marco, entonces puedes colaborar fácilmente con otros.
  4. en verdad no soy un programador bien organizado, pero fue antes de usar un marco de código abierto. tal vez como yo te organizarás más

Eso es todo lo que puedo compartir contigo por ahora, no soy bueno escribiendo en inglés, lo siento por eso. pero el punto es que te recomiendo usar framework

Amigo feliz de la codificación.

Creo que sin duda es una buena inversión pasar el tiempo para aprender un marco PHP. Por un lado, le enseñará cómo alguien ha abordado el problema de la arquitectura del marco, cómo organizar su código PHP y cómo manejar cosas como sesiones y accesos a la base de datos ... etc ...

En su mayor parte, si se toma en serio el desarrollo de aplicaciones web, necesitará usar un marco de trabajo de algún tipo en lugar de escribir su propio marco desde cero.

Algunas razones por las que NO debe escribir su propio marco:

  1. Estás reinventando la rueda, cuando ya se ha hecho muchas veces.
  2. No es muy probable que haga un mejor trabajo que un marco de código abierto, que ha sido probado e iterado por muchos desarrolladores.
  3. Pasará todo el tiempo escribiendo y depurando su propio marco de trabajo que el que gastará en la creación de su aplicación.

Así que sí, ¡aprende un par de marcos y encuentra el que más te convenga!

Diclaimer: NO soy un programador php y NUNCA he escrito una aplicación php. Por otro lado, he instalado, personalizado y usado un montón de php cmss para mi sitio y carritos de compras.

En mi opinión php sufre de serios problemas. La más importante es que "marco" parece ser una palabra extranjera para casi todos los proyectos grandes e incluso exitosos. El código php tiende a convertirse rápidamente en ensalada de espagueti: spaghetti html mezclado con código de espagueti y spaghetti sql.

osCommerce, uno de los carritos de compras más exitosos de la historia, es casi insoportable. Eso se aplica también a la gran mayoría de proyectos php.

Si debe usar un marco para su proyecto, le digo que sí. ¡Seguro! No importa qué tan grande sea su proyecto, usar un marco web lo ayuda a ordenar su código y escribir el código de la tabla principal.

También afecta su estilo de programación incluso cuando no está utilizando un marco.

El uso de MVC-framework facilitará su desarrollo. Especialmente aplicaciones relacionadas con bases de datos. Le proporciona una estructura de carpetas cristalina y muchas bibliotecas de código. Te sugiero que comiences desde CodeIgniter.

Los marcos son geniales cuando tienes un equipo de desarrolladores trabajando en el mismo proyecto. El controlador MVC integra maravillosamente al diseñador + programador. Sin embargo, la creación de "framework-like" elementos y "reinventar" La rueda no es tan mala idea. Si está trabajando en un gran proyecto, es mejor que ensucie su código y personalice TODO para que se ajuste a sus necesidades. Se convertirá en un producto más fuerte, ya que se desarrollará completamente para el proyecto.

La siguiente publicación es en respuesta a un hilo que se cerró inmediatamente mientras escribía mi respuesta a la publicación de RenderIn en: https://stackoverflow.com/questions/3265509/what-are-the-benefits-of-using-a-programming-framework . El hilo estaba cerrado y en los comentarios se colocó un enlace que lo dirigía hacia aquí, así que intentaré responder su pregunta aquí. En las citas a continuación es lo que estaba a punto de enviar:

" ¡Permítame recomendar Joomla! para usted y su organización. En mi último empleador, tuve que elegir PHP (sin tener experiencia previa con él), y después de aproximadamente un mes y medio de codificación manual manual de PHP, me encargaron codificar un Joomla! Componente que serviría videos a los usuarios. También tuve que crear un backend que permitiera a los administradores no técnicos clasificar, editar, eliminar, etc., los videos, así como proporcionar miniaturas para ellos, etc.

Ahora, para obtener un prototipo que funcionara para eso, me tomó cerca de dos meses (era un interno en ese momento y solo trabajaba de 20 a 24 horas por semana, así que si tienes bastante experiencia en PHP y experiencia con Metodología de desarrollo de MVC, probablemente podría haber conseguido un prototipo funcional mucho más rápido que yo). & Quot;

Ahora en respuesta al OP de ESTE hilo: Definitivamente vale la pena pasar el tiempo para aprender un marco (no lo he visto mencionado aquí hasta mi publicación, así que lo diré nuevamente: para un marco PHP, recomendaría Joomla!).

Algunos de los beneficios de aprender un marco (uno de código abierto como Joomla!):

  • Una gran comunidad de personas que pueden ayudar a responder sus preguntas (además de stackoverflow; lol)
  • Acceso a TODO el código fuente, para que pueda personalizarlo como quiera.
  • Muchos complementos de terceros gratuitos (y pagos) para mejorar la funcionalidad.
  • Muchos tutoriales.
  • Los marcos se encargan de realizar muchas tareas mundanas automáticamente.

En referencia a la bala cuatro: Joomla! se ocupa de cosas como la administración de la conexión de la base de datos y para que no tenga que molestarse en crear todas sus funciones personalizadas para conectarse a su base de datos MySQL o devolver diferentes tipos de resultados de la base de datos (por ejemplo, un registro, primer resultado del primero registro, lista de registros, etc.), simplemente hace llamadas a los suyos. La API de Joomla! Está abiertamente disponible en la web en su sitio: http://api.joomla.org/

De todos modos, espero que esto ayude a RenderIn y a cualquier otra persona que se pregunte acerca de los marcos (especialmente los relacionados con PHP).

Un marco para mí es una buena herramienta para acelerar y ahorrar su tiempo por el simple hecho de que no quiera dedicar tiempo a rehacerlo, no porque quiera ahorrar tiempo que no lo hace. No sé cuanto es. Lo pagará si lo hace.

Para mí, el marco es bueno si ya eres un programador de experiencia y tienes el toque o la sensación de que sabes cómo el marco funciona aproximadamente a continuación (pero no casi exactamente) y tienes la confianza de decirte si quiero hacerlo. volver a crear una ordenación como simplificar este marco. Entonces, un marco es un auto expreso para ti y no te causará dolor si quieres hacer algo para lo que el marco no está listo o algo inusual u otra cosa extraña.

Si no lo hace, es mejor que intente resolver su problema utilizando PHP simple y tradicional, y analice el lenguaje a su alcance, y aprenda primero sobre las buenas prácticas de programación, el paradigma y el patrón. De lo contrario, será uno de esos recién graduados que se unirán a un gran equipo y su primer proyecto está trabajando en un proyecto con un marco muy poderoso que requiere menos codificación y más en la configuración y parches. Nunca serás un buen programador y no podrás crear una buena aplicación PHP desde cero.

¿Qué ocurre si estás en una organización que utiliza un marco complejo?

Pase parte de su propio tiempo para resolver el problema en el antiguo PHP en este caso hasta que obtenga el toque de lo que mencioné anteriormente. De lo contrario, nunca encontrará su confianza en la programación y se seguirá diciendo a sí mismo: "Sé que esos son los pasos a seguir". Eso no es programación (un poco extremo :)).

Marco complejo frente a simple

Parte del marco, aunque utilizado por muchos, es simplemente abrumador. Hay demasiadas capas de las que perderás la pista. Esos marcos generalmente son para algo que es un estereotipo, muchos archivos de configuración y si quieres hacer algo inusual, es mejor que seas el escritor de marcos (un poco exagerado aquí :)). No quiero mencionar ningún nombre aquí, pero lo sabrás cuando encuentres uno.

CodeIgniter es un producto del equipo de EllisLab y su producto principal es Expression Engine, que se desarrolló con CodeIgniter.

Después de un tiempo de uso de CI, descubrí que usar Yii Framework es más conveniente. Tiene muchas extensiones. Y no es tan difícil de entender con buenos documentos.

CakePHP, creo, cerca de CodeIgniter.

Recomiendo encarecidamente utilizar un marco para cualquier cosa más que un simple script. Puede parecer excesivo a veces, pero diría que no lo es. He tenido algunas ocasiones en las que pensé que no lo necesitaba (aplicación simple, CRUD básico en tablas de 3 db).

Poco después, me encontré haciendo mysql_escape_string manual, filtrado XSS, etc. A partir de ese momento, solo escribo código no de marco cuando creo que la configuración tomará más que el código de trabajo. Y eso ocurre muy raramente.

Si tuviera que recomendar un marco PHP, tendría que ir con CodeIgniter o Yii Framework, dependiendo de lo complejo que sea su proyecto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top