Symfony es un framework PHP que hace más fácil usar el mecanismo MVC (Model View Controller).
Es uno de los mejores framework que existen hoy en día para la creación de aplicaciones web. Fue creado para ser utilizado en la versión 5 de PHP, puesto a que hace un uso amplio de la orientación que se enfoca a esta versión.
Para la versión de Symfony2 se requiere de PHP 5.3.3. También se utiliza Synfony 3 para la versión de PHP 7.
Desarrollo web con Synfony 2, 3 y 4
Symfony2 fue creado por la empresa Fabien Potencier, que al día de hoy se mantiene a la punta del proyecto con una meta enfocada a mejoras que faciliten la utilidad del desarrollo de un software por parte de un programador web.
Aunque Synfony2 se puede usar para diferentes tipos de trabajos no enfocados a la web, este framework fue creado específicamente para mejorar el desarrollo de aplicaciones web, ofreciendo herramientas para fortalecer y darle rapidez a aplicaciones un tanto complejas.
Desarrolladores Freelance Symfony2
En sí, el symfony2 no pretende crear algo nuevo ya que este rehúsa conceptos y trabajos ya ejecutados y los inserta en Sympony para ser utilizados por el usuario.
Uno de esos conceptos es el que se refiere a la integración de uno de los framework ORM más conocidos dentro de los que se hicieron empresas de desarrollo PHP denominado “Doctrine”, el cual se encarga de la comunicación con la base de datos, ofreciendo un control supremo en los mismos sin tomar en cuenta que se está hablando de MySQL, PostgreSQL, Oracle y otros motores, puesto que la gran mayoría de sentencias SQL no son hechas por el programador sino por Doctrine
Con el framework Doctrine, se puede gestionar todo lo relacionado con el modelos de datos. Cada archivo del modelo es realmente una clase, y se les conoce comúnmente como “entidades”. Así pues, solo hay que encargarse de crear las entidades y Doctrine generará todas las bases de datos y tablas necesarias, y todo se logra colocando una sencilla orden en la línea de comandos. Para ingresar a los datos, se debe usar desde el controlador un pbjeto llamado “Entity Manager”.
Otro ejemplo que puede servir también, es el de la inclusión del frameworkTwig, el cual es un potente motor de plantillas que hace la separación del código PHP y el HTML logrando mejorías notables creando de esta forma una amplia variedad de opciones y un buen orden y ejecución del proyecto.
Con el lenguaje YAML, el cual es competencia directa del XML, se puede tener una enorme cantidad de configuración íntegramente separada del código mejorando la claridad y respuesta. Si no se desea trabajar con YAML se puede usar los archivos de configuración con XML o PHP.
Beneficios de Symfony2
Con Symfony se cuanta con las instrucciones de la consola las cuales llevan el nombre de “Tasks” tareas que permiten la ejecución de comandos en la terminal, indicándole a Symfony2 que haga lo necesario para lo que se requiere y se pide, como podría ser la generación completa de los programas vitales para hacer ABMs, labor que resulta engorrosa para algunos programadores ya que esto hace que se deben aplicar muchos códigos para la ejecución de tareas en distintas tablas.
Otro beneficio muy importante, es que Symfony2 posee un sub framework para trabajar con formularios. De esta forma se hace una clase enfocada a objetos del formulario HTML y una vez realizados solo se muestran y se ejecutan.
Eso indica que no se diseña el formulario HTML, sino que se programa usando mecanismos del framework.
De esa forma se puede tener en un solo sitio todos los formularios de la aplicación junto con las validaciones hechas en el servidor. Con Symfony2 se puede implementar objetos validadores bastante prácticos y potentes para mejorar la seguridad de los datos colocados por los usuarios.
Con Symfony2 también se cuenta con una gran cantidad de soporte para blindar el sitio, logrando de esta forma mantenernos despreocupados de ataques maliciosos que existen hoy en la actualidad como es el SQL Injection, XSS o CSRF.
Estos atentados virtuales ya se pueden evitar, haciendo que Symfony se encargue de todos ellos y se puede llevar la atención a los ataques que se dar por mal uso del negocio o malas decisiones empresariales.
Se logra con esto un sitio Web donde cada cosa esta ubicada donde tiene que estar y el mantenimiento y corrección de errores resulta más fácil y sobre todo efectiva.
Symfony2 cuenta con una cantidad grande de librerías, herramientas y ayudas que permiten hacer una aplicación con rapidez que tratando de hacerla en forma tradicional.
Muchos de los conflictos a los que se puede enfrentar fueron analizados para su posterior solución por otros programadores permitiendo enfocarse a nuevos imprevistos que puedan surgir.
Tan solo estamos mostrando algunos de los conceptos que Symfony2 ofrece al usuario sin mencionar otros. Éstos, son igual de importantes como los son la integración del PHP Unit para hacer pruebas unitarias y funcionales de manera fácil y práctica, la injección de dependencias, el fácil uso de assetics para la mejoría de nuestras imágenes, CSS, JavaScript entre otros.