Las buenas prácticas oficiales de Symfony
Hoy lunes 13 de octubre de 2014 se han presentado por primera vez las Buenas Prácticas Oficiales de Symfony. Se trata de un documento con decenas de recomendaciones para desarrollar aplicaciones Symfony tal y como los creadores del framework piensan que es la mejor manera.
Para los impacientes, estos son los enlaces que importan:
- Página oficial de las buenas prácticas en inglés. Ahí puedes descargarte gratis el PDF completo con todas las recomendaciones.
- Traducción al español de las buenas prácticas: leer online o descargar en formato PDF. No te recomiendo que imprimas el PDF porque es muy posible que sus contenidos cambien en los próximos días.
Como seguramente tienes muchas ganas de empezar a leer estas buenas prácticas, me gustaría simplemente aclarar tres cosas:
- Estas son las buenas prácticas oficiales. Por tanto, no son las buenas prácticas perfectas ni las únicas que se pueden seguir para desarrollar buenas aplicaciones Symfony.
- No es obligatorio seguir estas buenas prácticas. Si no te gustan o crees que no te sirven, no las uses y olvídate de ellas para siempre.
- No tienes que actualizar tus aplicaciones Symfony existentes para que sigan estas buenas prácticas. Si te gustan estas buenas prácticas, utilízalas solamente para las nuevas aplicaciones.
Comentarios
-
#1
Buenas Javier!
Seguimos con lo mismo, una vez más. Un libro muy interesante para unificar el "Full-Stack Symfony way". Es importante que no dejemos de lado esta parte... "Full-stack". De todas formas, se demuestra una vez más que la gente aprovecha cada oportunidad que se presta para aportar su subjetivo punto de vista, ignorando la parte objetiva que es la más importante en este caso.
Mucha gente no estará de acuerdo con muchas cosas que ponen en el libro, yo mismo discrepo de muchos puntos y además de una forma muy fuerte, pero considero que es un muy buen trabajo para la gente que trabaja con el Framework y no sabe como hacer las cosas. Es bueno estandarizar conceptos y procedimientos, así que muchísimas gracias por tal esfuerzo.
-
#2
Hola Javier:
Muchas gracias por la documentación que resulta muy útil para repensar hábitos.
Ya que mis conocimientos de Symfony no me permiten aportar consejos ni sugerencias, contribuyo aquí con una lista de errores tipográficos que he detectado para que puedas corregirlos en la siguiente versión del documento:
Pág 8. punto 2.2.1.- Aparece "instlado correctamente" [en lugar de instalado correctamente] / Aparece (so simplemente ...) [en lugar de (son simplemente ...) ]. Pág 9. punto 2.3 .- Aparece "Symfony propone eta jerarquía ..." [en lugar de esta jerarquía] / Aparece app/cache almacena todos lso archivos [en lugar de todos los archivos] / Pág 10. Aparece vendor/ este es el directorio donde Composer instala las depdendencias [en lugar de dependencias] Pág 11. punto 2.5 Aparece directorios cahce/ [en lugar de cache/] Pág 14. punto 3.1.1 Aparece ésta funcione correcamente [en lugar de correctamente] pág 15. punto 3.2.1. Aparece LA forma tradicional en la que se dfine [en lugar de define] pág 18. punto 4.2 Aparece copuestos por el nombre [en lugar de compuestos] pág 20. Aparece entonces probablmente [en lugar de probablemente] pág 20 punto 4.3 Aparece los respositorios [en lugar de repositorios] pág 25 Capítulo 5 Aparece La regla de oro de los controladore [en lugar de controladores] pág 26. punto 5.2 Aparece lanzado pr el framework [en lugar de por] pág 31. capítulo 6 Aparece con el paso del tiempo an [en lugar de han] pág 32. punto 6.2 Aparece la definición del servicio es tn simple [en lugar de tan] pág 46 punto 9.2 Aparece [bestpractice] En lugar de poner el formato de buenas prácticas (igual ocurre en la siguiente página con la marca de cierre [/bestpractice] pág 53 Capítulo 10 Aparece El directorio web/ es publico, por lo cualquier usuario [en lugar de por lo que cualquier usuario] pág 54. punto 10.1 Aparece inlucyendo por supuesto LESS [En lugar de incluyendo] pág 55. Capítulo 11 Aparece de determindos métodos o funciones [en lugar de determinados] pág 55. punto 11.1 Aparece la lógica de negocio de tu aplicaicón [en lugar de aplicación]
Reitero mi agradecimiento por el curro que supone elaborar una documentación como esta y espero que el documento se vaya ampliando con más consejos para los que aún estamos aprendiendo.
Saludos.
-
#3
Hola Hugo, genial!!, para poder contribuir un poco, o a lo mejor me perdi, pero los metodos del voter no tendrian que ser publicos?
-
#4
El documento genial, gracias por este trabajo. Sólo una duda: ¿dónde está el enlace de la app de prueba?. No lo encuentro por ningún lado, ni la web oficial.
-
#5
Excelente trabajo.
Auqnue tengo 2 observaciones, la version actual es la 2.5.x la versión 2.6 todavia no aparece en la descarga en symfony.com/download
Esta instrucción no funciona: php app/console generate:bundle --namespace="AppBundle" --dir=src --format=annotation --no-interaction
Para que funcione hay que agregar el vendor en el namespace que es lo que se recomienda practicas evitar:
Ejemplo: php app/console generate:bundle --namespace="NombreEmpres/AppBundle" --dir=src --format=annotation --no-interaction
Quizas puedan dar pronto una respuesta ha estas inquietudes.
Saludos
-
#6
Gracias a todos por vuestros comentarios y también a los que me habéis hecho llegar mensajes en privado. Parece que este documento va por el buen camino :)
Daniel, gracias por esta lista tan completa de errores a corregir. Lo solucionaré en cuanto pueda.
Francisco, el enlace a la aplicación de prueba todavía no está disponible. No sabemos exactamente dónde y cómo publicar esta aplicación. Pero pronto habrá noticias.
Juan, el comando no funciona en las versiones viejas de Symfony y ya hay un issue creado en el repositorio para añadir esta funcionalidad.
-
#7
¡Gran documento! Muchas gracias. Javier, creo que estaría bien tenerlo vinculado en librosweb :)
-
#8
Javier; gracias por tu pronta respuesta. Espero con ansia ver ese código para aprender como lo hice con el código de tu libro, el de la aplicación cupón. Una gran iniciativa este documento y ponerlo también en Castellano todo un acierto!!!. Saludos.
-
#9
Mil puntos una vez más para ti Javier. Y otros mil más por haber traducido el documento al español. Quiero que sepas que en Cuba Symfony es quizás el framework PHP más utilizado. Esto se debe en gran medida a tu trabajo de promoción y a la gran documentación en español que encontramos (mucha de la cual está traducida por ti). Es una lástima que no exista aquí en Cuba una comunidad de seguidores de Symfony creada. Es una idea que tengo que ojalá algún día (yo o alguien más) la logre materializar. Gracias una vez más Javier.
-
#10
Para ser una primera version esta muy bien a mi parecer, yo se que a mi como a muchos otros tenemos nuestras reservas con las anotaciones y otros con los YML y viceversa, pero como dice Javier no es obligatorio, pero si seria bueno que las iniciemos a aplicar en proyectos nuevos para tener un marco comun de como organizar/trabajar nuestras aplicaciones, gracias Javier y quedamos a la espera de una actualizacion a este libro
-
#11
Gracias Javier por este interesante documento, siempre va bien tener referencias de como mejorar nuestras aplicaciones y su mantenimiento. Por otra parte y en el mismo hilo de buenas practicas, creo que también sería muy útil a para la comunidad un documento de buenas practicas (o un caso práctico como cupon) con Symfony en un entorno DDD, ya que muchos queremos aplicarlo en nuestros proyectos pero no sabemos muy bien como hacerlo de la forma mas correcta.
-
#12
Muchas gracias por este importante aporte. El solo hecho de leer el libro, nos permite reflexionar sobre la forma en la cual estamos utilizando Symfony, no es camisa de fuerza adoptar estas prácticas propuestas pero si nos da una visión mas ámplia sobre symfony y la oportunidad de mejorar y explorar cosas nuevas en próximos proyectos.
-
#13
¿Cuando estará disponible la aplicación de prueba?
Lo ideal sería publicarla en github, ¿no?
Gracias!
-
#14
Hola Javier, ya hace tiempo que leí el documento, hoy quería darle un repaso y lo he buscado aquí en las noticias porque sabia que estaba. Creo que deberías ponerle un enlace en la sección de documentación, para que sea más visible a los nuevos visitantes. Gracias por la traducción, un saludo.
Este artículo ya no permite añadir más comentarios.
¿Por qué? Los artículos cierran sus comentarios automáticamente
unos meses después de su publicación para asegurar que estos sigan
siendo relevantes.
Proyectos Symfony destacados
La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más
Síguenos en @symfony_es para acceder a las últimas noticias.