O Symfony é uma framework PHP que tem como foco a aceleração do desenvolvimento e manutenção de aplicações web, e a substituição de códigos corriqueiros. São poucos os pre-requisitos para sua instalação: Linux, FreeBSD, MacOS ou Windows e um servidor PHP 5. A versão atual (1.4) só suporta PHP 5.2.4 ou superior, mas versões anteriores podem rodar em servidores PHP 5.0 e 5.1. Infelizmente, como várias outras frameworks modernas, o Symfony não dá mais suporte ao PHP4, mas por outro lado, é compatível com quase todos os bancos de dados relacionais, como o MySQL, Postgresql etc.


A idéia por trás dele é bem parecida com a do Ruby on Rails: facilidade de uso, design simples e código legível. Com ela é possível desenvolver uma aplicação completa com bastante facilidade. O desenvolvedor pode se focar na lógica da aplicação sem ter que perder tempo editando arquivos XML “infinitos”. Podem ser desenvolvidas aplicação porte pequeno a “enterprise”, dando ao desenvolvedor total controle sobre configuração e customização. O Symfony usa arquitetura MVC (Model-View-Controller). Como se não bastasse, existe uma comunidade bastante ativa por trás disso tudo.

Entre os recursos oferecidos pela framework, estão:

  • Internacionalização
  • Desenvolvimento de templates por designers sem conhecimento do framework
  • Formulários gerados com validações automáticas
  • URL’s amigáveis
  • Facilidade para implemtentar Ajax
  • Ferramentas para geração de código
  • Framework para teste automatizado embutido
  • Ferramentas para log, dando aos administradores informações completas sobre as atividades da aplicação

O Symfony tem uma curva de aprendizagem um pouco maior que outras frameworks, e o tutorial “Getting Started” é uma boa forma de começar. Também é disponibilizada uma aplicação de exemplo chamada “Symfony sandbox“, que te dá uma idéia prática de como funciona. Basta baixar, descompactar, colocar no seu servidor e pronto. A aplicação vem configurada para utilizar o banco de dados SQLite, mas é bastante simples configurar para outro SGBD.