Soy nuevo en programación web y en este momento estoy aprendiendo sobre PHP. Me gustaría saber cuándo necesito usar un marco PHP como CakePHP. ¿Qué cosas me ofrecen este y otros frameworks PHP similares? ¿Y es realmente importante utilizar un marco para ser profesional?
- ¿Y puedo crear mi propio marco para proporcionar las características que me gustan?
php
frameworks
Goma
fuente
fuente
Respuestas:
Cuando esté a gusto con PHP, puede comenzar a usar un marco. Y siempre debes usarlos:
Puede crear su propio marco, pero definitivamente no lo recomendaría. Es complicado, ya hay muchos marcos buenos por ahí, y no es probable que encuentres una característica que falta. Además, a menudo proporcionan formas de agregarles sus propias características, sin tener que crear una completamente nueva.
fuente
Cree algunas páginas sin un marco ... esencialmente comenzará a escribir su propio marco por prueba y error. Después de hacer eso, muévase a un marco y disfrute de cuánto tiempo ahorra. Intentar construir su propio marco puede enseñarle algunas cosas y lo ayudará a apreciar los marcos que ya existen.
Cuando ingresé a PHP por primera vez, pensé que los frameworks eran una pérdida de tiempo complicada. Ahora, uso CodeIgniter incluso para proyectos simples. Se tarda aproximadamente 1 minuto en comenzar a funcionar. Ya tiene un montón de excelentes bibliotecas disponibles. Y, como se mencionó en un póster anterior, la mayoría de los marcos son extensibles, por lo que siempre puede agregar cualquier funcionalidad que desee.
fuente
Como dijo Niphra , solo comience a usar un marco cuando pueda usar PHP sin un marco (es decir, acceder a la base de datos, enviar encabezados y contenido, procesamiento de cadenas, manipulación de datos, etc.). En cuanto a sus preguntas:
¿Cuándo necesito usar un marco PHP como CakePHP? Cuando su proyecto crece más allá de unos pocos archivos PHP; en el momento en que comienza a separar fuertemente la lógica en elementos distintos y a la funcionalidad de modularización / intercambio (sesiones, etc.) es cuando debe usar un marco.
¿Qué cosas me ofrecen este y otros frameworks PHP similares? Abstracción; en lugar de interactuar directamente con la base de datos, puede usar un mapeo relacional de objetos (ORM) para administrar la estructura y las relaciones entre sus datos en la base de datos. La mayoría del marco en muchos idiomas proporciona ORM para facilitar la interacción con la capa de base de datos de su aplicación. Del mismo modo, los marcos a menudo separan las capas de respuesta a la interacción del usuario. La separación más común es el paradigma Model View Controller (MVC), que, para ser breve, abstrae la lógica de la base de datos en el Modelo (una interfaz con el ORM, en muchos casos), procesa solicitudes e interactúa con los Modelos en el Controlador, y Representación del HTML / PDF / imagen / etc. en la vista. Los marcos a menudo proporcionan otras herramientas, como el enrutamiento (para permitir el procesamiento complejo del URI de la solicitud (por ejemplo, mapeo de la solicitud "http://example.com/users/1 "para los usuarios del controlador, que luego busca el modelo de usuario con el ID de 1) y una abstracción de sesiones y otras estructuras básicas.
¿Y es realmente importante utilizar un marco para ser profesional? No necesariamente; los marcos hacen la vida más fácil; pero no tienes que usar uno para ser profesional. Los marcos proporcionan una práctica abstracción y estandarización, pero no son un requisito en la mayoría de los casos.
fuente
Después de leer algunas de las respuestas, me gustaría decir primero que a menudo no tienes muchas opciones sobre qué marco vas a usar o si vas a usar una o no (como profesional). No quiero intimidarlo, pero necesitará desarrollar una comprensión suficiente de PHP para permitir pasar de un marco a otro y usar más de un marco a la vez.
No hay una respuesta universal a esto. Como profesional, tendrá la tarea de resolver problemas específicos y este será el factor decisivo para cuándo y qué es de cada proyecto, especialmente si un cliente tiene una demanda específica. Pero, en términos generales, siempre usará algún tipo de marco con PHP, a menos que esté modificando o extendiendo una aplicación preexistente que tenga su propio marco (como Wordpress o PHPBB).
Como dijo dirk, ofrecen abstracción. Lo que esto significa es que toman procedimientos comunes de varios pasos e intentan hacerlos lo más simples y simplificados posible. En resumen, intentan presentar soluciones de solo agregar agua para tareas comunes.
En términos generales, no, no es importante utilizar un marco para ser un profesional. Pero de manera realista, no tendrá una gran carrera si no está familiarizado con al menos un par de marcos comunes. PHP sin marco es como C ++ sin una biblioteca estándar. No lo necesita, y en realidad puede hacer más sin él, ya que usará directamente la funcionalidad de bloque de construcción de nivel inferior del lenguaje, pero le llevará mucho más tiempo hacer lo mismo.
Si. De hecho, es probable que termines haciéndolo incluso sin querer. Con esto no me refiero a un marco de trabajo general expansivo, sino más bien a una bolsa de herramientas de funciones básicas y scripts que realizan tareas que no son lo suficientemente comunes o genéricas como para ser manejadas por el marco promedio. El mío está compuesto básicamente por varios sistemas de archivos, manejo de procesos y rex-ex tid-bits con algunas utilidades diferentes de rizo y flujo / socket.
fuente
Común de una persona que pasó años descifrando mis propias formas de hablar con una base de datos y hablar con API en línea y solo ahora estoy comenzando a usar marcos, úselos cuando al menos comprenda lo que están haciendo, si es posible.
No salte inmediatamente a RedBean la primera vez que trabaje con una base de datos, primero trabaje con la base de datos manualmente. De esta manera, tiene una comprensión profunda de lo que realmente está buscando y haciendo a la base de datos, lo que realmente puede ayudar con la escalabilidad. También puede hacer su propia solución cuando el marco que está utilizando no hace algo que deba hacer.
Sin embargo, una vez que comprenda lo que está sucediendo, ¡use un marco! Esto hace las cosas mucho más fáciles. La locura con el almacenamiento de una consulta a continuación un bucle a través de los resultados con
mysql_fetch_assoc
todo se ha ido, reducida a una sola llamada:$book = R::load( "book", $id )
. Será mucho más productivo y podrá corregir errores futuros o agregar funciones futuras mucho más fácilmente.fuente
Use un marco cuando conozca las tecnologías subyacentes lo suficientemente bien como para saber qué hace el marco por usted y por qué eso es bueno (o malo).
Un marco es una especie de metaherramienta, que le permite trabajar con sus herramientas (idioma, base de datos) un poco más rápido sin tener que preocuparse por algunos de los detalles de lo que está haciendo, lo cual es bueno si realmente conoce su herramientas.
Lo que NO desea que suceda es que aprenda el marco en lugar de las herramientas, y se canalice hacia una determinada forma de hacer las cosas, y termine realmente sin dominar los lenguajes y conceptos subyacentes: debería ser un herramienta, no una muleta.
fuente
Cuando te encuentres haciendo lo mismo una y otra vez, mira a tu alrededor y ve si hay un marco que haga las mismas cosas redundantes que hubieras terminado haciendo por tu cuenta. No solo use un marco debido a la exageración. Personalmente, me gusta CodeIgniter y el "marco MVC PHP sin marco" de Rasmus Lerdorf http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html
fuente
Recomiendo pensar cuidadosamente por qué usaría el framework x, y o z. Cada marco no solo proporciona funcionalidad, que no tiene que implementar usted mismo, sino también una forma de pensar. Solo mira Spring, JEE, Rails o Django. Cuatro marcos que proporcionan suficiente para pisotear una aplicación web en poco tiempo.
Pero los cuatro promueven su propia forma de pensar sobre cómo deberían construirse las aplicaciones web. Y si eso no se ajusta a sus necesidades o no coincide con su sabor, tendrá dificultades para llevar las cosas más allá.
Esta ha sido una comparación muy radical, pero quizás construir una pequeña biblioteca se adapte mejor a sus necesidades. Pero conocer los marcos definitivamente lo ayudará a trabajar en equipos más grandes o a encontrar nuevos trabajos, ya que eso demuestra que está interesado en el desarrollo de software en general.
fuente
Los marcos siempre son buenos para usar desde el principio. Promueve la usabilidad del código, una mejor legibilidad y ahorra un poco de tiempo de desarrollo.
No tengo mucha experiencia con PHP, pero recomendaría cualquier uso de framework.
fuente