Documentação do Symfony - versão 3.1
Renderizada do repositório symfony-docs-pt-BR no Github
O framework Symfony é bem conhecido por ser realmente flexível e é usado para construir micro-sites, aplicativos corporativos que lidam com bilhões de conexões e até mesmo como base para outros frameworks. Desde o seu lançamento, em julho de 2011, a comunidade tem aprendido muito sobre o que é possível e como fazer as coisas melhor.
Estes recursos da comunidade - como posts de blogs ou apresentações - criaram um conjunto de recomendações não-oficiais para o desenvolvimento de aplicações Symfony. Infelizmente, muitas dessas recomendações são desnecessárias para aplicações web. Na maior parte do tempo, elas desnecessariamente complicam as coisas e não seguem a filosofia pragmática original do Symfony.
Este guia destina-se a corrigir isso, descrevendo as melhores práticas para o desenvolvimento de aplicações web com o framework full-stack Symfony. Essas são as melhores práticas que se encaixam com a filosofia do framework como previsto pelo seu criador original Fabien Potencier.
Note
Melhor prática é um substantivo que significa “um procedimento bem definido que é conhecido por produzir resultados quase ótimos”. E é exatamente isso o que esse guia visa proporcionar. Mesmo que você não concorde com todas as recomendações, acreditamos que elas irão ajudá-lo a construir ótimas aplicações com menos complexidade.
Esse guia é especialmente adequado para:
Para outras situações, esse guia pode ser um bom ponto de partida que você pode então estender e encaixar às suas necessidades específicas:
Sabemos que velhos hábitos custam a ser eliminados e alguns de vocês ficarão chocados com algumas dessas melhores práticas. Mas, seguindo elas, você será capaz de desenvolver aplicações rapidamente, com menos complexidade e com a mesma ou até superior qualidade. É também de caráter variável que continuará a melhorar.
Tenha em mente que estas são recomendações opcionais que você e sua equipe podem ou não seguir para desenvolver aplicações Symfony. Se você quiser continuar usando suas próprias melhores práticas e metodologias, pode, naturalmente, fazê-lo. O Symfony é suficientemente flexível para se adaptar às suas necessidades. Isso nunca vai mudar.
Qualquer desenvolvedor Symfony, se você é um especialista ou um recém-chegado, pode ler esse guia. Mas, uma vez que este não é um tutorial, você vai precisar de alguns conhecimentos básicos de Symfony para acompanhar tudo. Se você é totalmente novo no Symfony, bem-vindo! Comece com O Guia de Início Rápido primeiro.
Mantemos deliberadamente esse guia curto. Não vamos repetir explicações que você pode encontrar na vasta documentação do Symfony, como discussões sobre injeção de dependência ou front controllers. Vamos apenas nos concentrar em explicar como fazer o que você já sabe.
Além desse guia, você encontrará um exemplo de aplicação desenvolvida com todas essas melhores práticas em mente. A aplicação é um mecanismo de blog simples, porque isso vai nos permitir concentrar nos conceitos e características do Symfony sem ficar enterrado em detalhes difíceis.
Em vez de desenvolver a aplicação passo a passo nesse guia, você encontrará snippets de código selecionados através dos capítulos. Por favor, consulte o último capítulo desse guia para encontrar mais detalhes sobre essa aplicação e as instruções para instalá-la.
Depois de ler esse manual, alguns podem estar pensando em refatorar suas aplicações Symfony existentes. Nossa recomendação é sólida e clara: você não deve refatorar suas aplicações existentes para cumprir essas melhores práticas. As razões para não fazê-lo são várias: