La Red de Conocimientos Pedagógicos - Currículum vitae - ¿Cuáles son las ventajas y desventajas de Symfony2?

¿Cuáles son las ventajas y desventajas de Symfony2?

El motivo principal es mejorar el nivel de abstracción del código. En comparación con el lenguaje PHP simple que expone directamente los conceptos subyacentes, Symfony proporciona un conjunto de conceptos y herramientas para resolver problemas de ingeniería específicos, ayudando a la mayoría de los programadores a reducir el trabajo repetitivo. Abstracción significa ser capaz de expresar conceptos, procesos, etc. complejos en términos más simples.

Symfony lleva más de un año escrito. El beneficio para mí es que me hace entender "hay varias formas de simplificar el código" y "los muchos beneficios del código conciso". ¿Es exactamente conciso?"

Alguna introducción a Symfony:

Enrutamiento: puede restringir el nombre de host, lo que permite que los sitios web con una gran cantidad de funciones públicas utilicen un conjunto de códigos. El reconocimiento de URI admite la detección de registros, lo que permite la La URL se definirá como desee; admite prefijos e importaciones para facilitar la modularización.

Plantilla Twig: Este es uno de mis componentes favoritos. Proporciona un conjunto de sintaxis que es diferente de PHP pero es muy adecuado para procesar estructuras complejas de sitios web y páginas. La extensión es muy conveniente y poderosa. Las operaciones comunes se pueden expresar bien a través de la extensión. Por ejemplo, si necesita almacenar en caché un determinado módulo de la página para redistribuir, puede escribir una ViewExtension y usar un método en la plantilla para almacenar en caché un módulo específico. Es muy conveniente. El código también es fácil de administrar.

Gestión de paquetes de Composer: Deja muy claras las dependencias del código. Y ahora hay muchos buenos paquetes de terceros, como snc/redis-bundle para redis abstracto, liip/imagine-bundle para procesamiento de imágenes, hwi/oauth-bundle para inicio de sesión de terceros, etc. A medida que tu propio proyecto madura, también puedes separar la personalización de Symfony del proyecto y usar Composer para administrarlo, lo cual se siente bastante bien.

Eventos, oyentes y servicios: procesamiento de funciones globales muy conveniente. Lo molesto es que es muy problemático de configurar. Utilizo un archivo de configuración yml y realmente pierdo una capa de piel al intentar encontrar la sintaxis correcta.

Doctrine ORM: una ventaja es que no tiene que preocuparse por los detalles de la base de datos, solo necesita diseñar cuidadosamente los objetos que deben persistir. Las relaciones entre objetos se pueden diseñar libremente y ya no tendrá que preocuparse por el proceso desde la generación de estructuras de bases de datos hasta la generación de declaraciones de consulta. Otra ventaja es que al realizar consultas, puede utilizar consultas basadas en objetos en lugar de SQL y DQL, que dependen de cadenas para expresar consultas. Debido a que SQL es una cadena simple, es muy problemático expresar el control de toda la lógica de consulta en el código. .

Componente de formulario: Symfony proporciona las funciones de generación, envío y verificación de formularios. El componente abstrae tres aspectos: formType para mantener los valores que deben completarse y guardarse, formTheme para definir la estructura html del formulario y validación para proporcionar funciones de validación de datos. Las deficiencias de este componente también son obvias. El concepto es demasiado complicado. Si tiene que definir un campo usted mismo, simplemente se encontrará con problemas.

Rendimiento: Symfony proporciona un excelente componente llamado perfil, que puede mostrar gráficamente el tiempo de ejecución de cada parte del código, la memoria consumida, así como las declaraciones de consulta de la base de datos y el número de filas consultadas. índice utilizado. El uso de esta herramienta para optimizar el código puede hacer que el sitio web funcione más rápido.