Academia.eduAcademia.edu

SYMFONY Resumen

Symfony, además de ser un framework para el desarrollo de aplicaciones web en PHP, es un conjunto de componentes atómicos y reutilizables escritos en PHP, es por esto que muchos proyectos, incluso otros frameworks de PHP como Laravel, usan los componentes de Symfony en sus estructuras internas, de hecho, Symfony maneja distribuciones, debido a la atomicidad y alta flexibilidad de sus componentes.

SYMFONY Resumen: Symfony, además de ser un framework para el desarrollo de aplicaciones web en PHP, es un conjunto de componentes atómicos y reutilizables escritos en PHP, es por esto que muchos proyectos, incluso otros frameworks de PHP como Laravel, usan los componentes de Symfony en sus estructuras internas, de hecho, Symfony maneja distribuciones, debido a la atomicidad y alta flexibilidad de sus componentes. Estas distribuciones buscan emular a las distribuciones de Linux, por ejemplo la versión estándar del framework que es solo una de las distribuciones disponibles de Symfony, es básicamente un grupo de componentes de Symfony configurados para satisfacer las necesidades de dicha distribución, imaginemos que cada distribución de Symfony es una herramienta construida con pequeñas piezas, como una casa de lego, por dar un ejemplo. Pero hoy vamos a realizar la instalación sencilla, vamos a instalar la nueva aplicación demo, esta nos servirá para explicar los principios básicos del desarrollo de una aplicación en Symfony, además esta app demo cumple con todas las convenciones de las mejores prácticas del framework. Estructura de directorios: Esta es la estructura de archivos que viene por defecto con el framework, como todo en Symfony, esto puede ser modificado a medida de manera muy elegante y simple. Por el momento, concentrémonos en entender donde están ubicados los recursos de nuestra app_demo.  app.     cache. logs. config: Archivos de configuración globales (rutas por ejemplo). Resources: Vistas globales como layouts, recursos públicos globales también.  views: Layouts.  public: recursos públicos globales (css, javascript, imágenes)  css  javascript  images  src: Bundles específicos de aplicación.  NombreOrg  NombreBundle  Command: Comandos de consola  Controller: Controladores  Form : Clases formularios  Entity : Clases de entidades (parte del modelo)  Twig: Extensiones de Twig  EventListener: Eventos de Symfony o de Doctrine  Resources  views: Vistas  config: Configuraciones (rutas por ejemplo)  public css javascript images  vendor: Bundles reutilizables  web: Controlador frontal (app.php, app_dev.php) y recursos públicos. Como podemos observar un bundle busca ser una mini aplicación en sí mismo, por eso cada bundle tiene sus propios directorios donde guardar sus archivos de estilos, y sus scripts de JavaScript , al igual que sus entidades, controladores y vistas, de hecho hasta sus propios archivos de configuración, la estructura que se plantea en este post obedece a las convenciones para el nombramiento de bundles que se pueden encontrar en la documentación oficial de Symfony, fíjate en la estructura de tu app demo, tenemos.  AppBundle: Nombre descriptivo del bundle.  Command (Si aquí debes colocar tus comandos de cónsola)  Controller  … Estructura de directorios: Symfony viene con dos ambientes de desarrollo por defecto, dev y prod, Symfony detecta estos ambientes en su núcleo, pero los detecta porque el programador pasa como parámetro el ambiente en el que va a trabajar el núcleo, esta instalación se hace en el controlador frontal de nuestra app, que es sólo un script de PHP que levanta los recursos del framework y que está configurado para ser el que reciba todas las peticiones al servidor, esta configuración ya escapa de Symfony y es algo que se tiene que configurar en el servidor que se esté usando para desplegar nuestra aplicación. Controladores: En Symfony gracias a su gran flexibilidad, las rutas pueden ser configuradas en distintos formatos, esos comentarios que ves que tiene forma de función @Route(), pues bueno esas son las anotaciones, estas son interpretadas por uno de los componentes que vienen configurados con la versión estándar de Symfony. La acción en el controlador, no son más de 5 líneas y así es que debe verse una acción en un controlador, cuya misión es ser el pegamento entre las vistas y la base de datos, nota que las otras funcionalidades de la aplicación como el botón show source code, no están programadas en el controlador, porque en realidad es una extensión de Twig desarrollada a medida para esta app la que se encarga de esta funcionalidad. Vistas: Symfony maneja sus plantillas con Twig, esto nos provee de una serie de funcionalidades como una sintaxis más legible y la herencia de plantillas la cual nos permite organizar de una manera más eficiente las secciones de nuestra página web. Las vistas manejan una sintaxis muy sencilla, el código es reutilizable gracias a la herencia y puede sobrescribirse en caso de ser necesario. ¿Cómo elegir un marco de PHP? PHP es uno de los lenguajes de programación más populares en todo el mundo, y la reciente liberación de PHP 7 hizo este lenguaje de programación del lado del servidor mejor y más estable que nunca. PHP es ampliamente utilizado en grandes proyectos. Facebook, por ejemplo, utiliza PHP para el mantenimiento y la creación de sus sistemas internos. WordPress PHP utiliza para alimentar sus partes internas, que a su vez es capaz de alimentar más del 26% de la web . En la actualidad, los poderes de PHP más de 82% de los sitios web (cuyos lenguajes de programación del lado del servidor del sitio Web Tecnología encuestas es capaz de rastrear). ¿Por qué elegir un framework PHP?       Un framework PHP hace un desarrollo más rápido. Por ejemplo, no tenemos que escribir consultas complejas para recuperar los datos de la base de datos. frameworks PHP proporcionan operaciones CRUD (crear, leer, actualizar y eliminar). Marcos permiten a los desarrolladores de sistemas a escala fácilmente. El mantenimiento del código es más fácil que con una aplicación PHP de vainilla. El código de la aplicación es concisa y fácil de trabajar. El modelo MVC asegura un rápido desarrollo. Marcos son mejores en la obtención de la aplicación web de amenazas de seguridad comunes. El principio (SECO) no repita a sí mismo asegura que el código tiene un mínimo impacto máximo. Symfony, laravel, y Yii Antes de entrar en detalles técnicos, aquí está un resumen de estos framework: Symfony Es un conjunto de componentes reutilizables PHP, que permite al desarrollador crear aplicaciones escalables y de alto rendimiento. Con 30 componentes entre los que elegir, el desarrollador tiene la completa libertad para experimentar y trabajar en un entorno RAD. API de Symfony también permiten una fácil integración con aplicaciones de terceros, y que se pueden utilizar con marcos de front-end populares, tales como AngularJS. Muchos proyectos populares, como Drupal y phpBB , también utilizan un marco de Symfony. De hecho, laravel, el framework PHP más popular, es construir fuera de Symfony. Laravel Se conoce como el "marco para PHP Web artesanos," ofrece una excelente comunidad y se impone como el marco más popular . (Uno de los principales desarrolladores en laravel Livecoding.tv es Sfiskell .) En mayo el año 2015 laravel anunció que la versión 5.1 ofrecerá apoyo a largo plazo para los dos años. Versión 5.2 en marcha en diciembre de 2015. Muchas empresas de hosting ofrecen apoyo laravel y ofrecen soluciones de hosting para aplicaciones laravel. Yii Creado por Qiang Xue en 2008, Yii es un alto rendimiento marco seguro, rápido de aplicaciones / desarrollo web. Yii utiliza el Compositor gestor de dependencias para PHP para el manejo de diferentes dependencias e instalaciones (más sobre él más adelante). Yii también es el marco de PHP más rápido, gracias a la técnica de carga diferida. Otra gran característica de Yii es la integración de jQuery. La integración permite a los desarrolladores de aplicaciones para usuario para abrazar el marco rápidamente, y se utiliza para generar código de andamios. Al igual que en Symfony, Yii también utiliza componentes para permitir el desarrollo rápido de aplicaciones. ¿Cómo se comparan? Los tres marcos son ideales para la construcción de aplicaciones Web 2.0, pero cada marco tiene un propósito diferente. Veamos sus características y cómo se comparan. Conclusión En la batalla de Symfony vs vs laravel Yii, los tres marcos de PHP son excelentes opciones que proporcionan un entorno de desarrollo pila completa para los desarrolladores. Symfony y Yii son excelentes marcos. Symfony está bien establecido y con una comunidad más grande, más maduro. Yii es un marco único que es robusto, seguro, y hace el trabajo. Para ver los marcos de acción, echa un vistazo a lo que los desarrolladores están usando para el Livecoding.tv, que tiene canales para Symfony, Yii, y laravel . Los desarrolladores también están disponibles en el chat o Skype durante las sesiones de streaming. Siga los desarrolladores, les pregunte a sus preguntas y obtener respuestas en tiempo real.