php - granted - symfony hash
La diferencia entre Symfony y Silex (7)
Algunas cosas que vale la pena mencionar:
- Silex se basa en los componentes Symfony2, al igual que el marco Symfony2. Como tal, puede considerarse una interfaz de usuario alternativa para los componentes (el usuario es un desarrollador web).
- Como utilizan la misma base, la migración entre ellos debería ser relativamente fácil.
- Al igual que Symfony2, Silex es principalmente un marco de control. Le proporciona cierta estructura, pero las partes de modelo y vista son manejadas por bibliotecas de terceros (como Twig o Doctrine).
- Dado que la lógica de su negocio no debe estar en sus controladores de todos modos, si separa ese código y mantiene sus controladores a la ligera, el factor limitante en términos de tamaño del proyecto solo será la cantidad de rutas que tenga.
Dicho esto, Silex no le dará los paquetes que tiene Symfony2.
Me gustaría probar Silex pero tengo algunas preguntas.
Sé usar Symfony2 y me gustaría saber si Silex es muy diferente de Symfony o es lo mismo (la misma operación, el mismo código ...)?
Además, Silex se recomienda para pequeños proyectos de PHP y Symfony para proyectos medianos o grandes, ¿es cierto?
Aquí hay algunas ideas interesantes sobre cuándo usar Silex (especialmente en los comentarios): https://web.archive.org/web/20160131151109/http://www.testically.org/2011/10/11/is-there-a-specific-situation-when-to-use-a-php-micro-framework-like-silex/
Silex en sí es bastante simple, lo que significa que si desea más que enrutamiento y pruebas, deberá agregar características específicas (DB, Twig ...) en forma de Servicios. Recomiendo echar un vistazo a algunas Placas listas para usar que te ofrecen esto: https://github.com/lyrixx/Silex-Kitchen-Edition o https://github.com/ivoba/superleansilexplate (eso es mío :))
Otro punto es que Silex tiene una huella probablemente más ligera que Symfony2, por lo que si necesita un sitio más pequeño y más rápido, Silex merece una consideración.
Silex es bueno para proyectos pequeños, pero también se puede usar para proyectos grandes. Lo que más me gusta de Silex es que tengo control completo sobre la estructura de mi proyecto, pero es mi responsabilidad si mi proyecto está bien organizado o no.
También lo recomiendo sobre Symfony si, como yo, moviste la lógica de tu aplicación al lado del cliente usando un framework JS. Para mí, es una exageración usar Symfony solo para atender algunas solicitudes json.
Silex es un gran marco para aplicaciones pequeñas y grandes. Darle estructura al proyecto es su responsabilidad en Silex. A medida que el proyecto se hace más grande, puede integrar muy bien los componentes de Symfony, aunque la documentación del proveedor de Symfony no es tan buena, especialmente para el componente de seguridad de Symfony.
Silex es ideal para proyectos de prototipos. Si sabe que usará la mayoría de los componentes de Symfony, vaya a Symfony porque terminará integrando casi todos los componentes de Symfony en sílex.
En mi caso, necesitaba velocidad desde el primer momento y el silex me proporcionó la velocidad, y aunque estoy usando la mayoría de los componentes de Symfony, es mucho más rápido que Symfony desde el primer momento.
Silex es un microframework de PHP. Es uso para el proyecto pequeño. El estilo de codificación de Symfony y el silex es casi similar al Symfony. Pero el Symfony se usa para los proyectos grandes.
Silex se basa en los componentes independientes de Symfony2 y realmente no se considera un framework de aplicaciones web completo como lo es Symfony. Solo debe usarlo para proyectos muy pequeños que solo requieren unos pocos archivos, o lo superará rápidamente.
(ACTUALIZACIÓN) Desde Symfony 2.8 Puede usar Symfony 2 como un microframework con un micro controlador de kernel. Vea la descripción breve aquí: symfony.com/blog/new-in-symfony-2-8-symfony-as-a-microframework . Ahora Symfony nos da más control sobre la estructura y la arquitectura. Una buena alternativa a Silex si prefieres el estilo Symfony 2.
Comparando Silex con Symfony antes de la versión 2.8
El microframework Silex se basa en Symfony, pero no es exactamente lo mismo. Usar un marco de pila completa como Symfony para un proyecto pequeño simplemente está sobrevalorando el proyecto.
En una microframework, tiene más flexibilidad para elegir las herramientas que desea utilizar. Puede tomar más decisiones sobre la arquitectura y la lógica de la aplicación. En un marco de pila completa con alguna extensión, usted tendría una arquitectura y una lógica ya predefinidas con restricciones y limitaciones a su configuración.
Silex fue diseñado para construir la herramienta en lugar de obtener las herramientas que quizás no necesite. Diría que para proyectos pequeños en Symfony tendrías que eliminar características: si estuvieras en Silex tendrías que agregarlas.
Tampoco es cierto que Silex no sea apto para proyectos más grandes. Silex se puede utilizar con éxito para proyectos más grandes, pero recuerde que tendría que crear sus herramientas para satisfacer sus necesidades (si necesita personalizar la arquitectura y la lógica, tal vez este sea el camino correcto). Aparte de eso, consideraría usar Symfony en su lugar, porque Symfony ya tiene un montón de herramientas disponibles listas para usar.
Para concluir, Silex es bueno para aplicaciones más pequeñas y para aquellos, seguramente puede reemplazar a Symfony. Silex también se puede usar para proyectos más grandes (pero para aplicaciones más grandes yo recomendaría usar un framework full-stack, como Symfony).
Referencia para las diapositivas en: http://www.slideshare.net/dustin.whittle/silex-from-micro-to-full-stack . Si te apetece, sigue leyendo más sobre el marco Silex.
También recomiendo ver esta introducción comparando Silex con Symfony: https://www.youtube.com/watch?v=RDVtnsoOysE .
Nuevamente, algunos Pro para usar Silex provienen de personas que realmente lo usan: https://www.youtube.com/watch?v=OJcdHGJFfLU