O documento apresenta a framework Symfony para desenvolvimento web em PHP. Aborda suas principais características como arquitetura MVC, componentes, instalação, configuração, modelagem, controllers, views e plugins. Explica também sobre integrações com bancos de dados, testes, documentação e IDEs de desenvolvimento.
21. Framework para desenvolvimento web em PHP 5. O projeto começou em 2005 e teve como base outros projetos open source tais como; mojavi(MVC), propel(ORM), creole(Abstração de acesso a dados) e conceitos já existentes na framework ruby on rails, tais como scaffolding e helpers. Hoje os esforços giram em torno de uma arquitetura mais desacoplada com base em injeção de dependências.
26. Utiliza a licença open source creative commons, todo o desenvolvimento é regido pelas filosofias DRY, KISS e eXtreme Programming, svn+trac .
27.
28.
29. Após 4 anos de projeto, desconheço uma falha publica de segurança no core do symfony.
30. Uma vez dominado, a produtividade é maravilhosa. Trata-se de um projeto *RICO* e não complexo.
31. De acordo com artigos e testes de benchmark's(Elton Minetto, review da IBM, etc..), possui uma excelente performance.
32.
33. O trabalho de maquina deve ser feito por maquina, sendo assim temos:
34. menos código -> menos complexidade -> menos bugs -> maior produtividade -> mais tempo -> mais $
35.
36. - Padrões de projeto como MVC, ORM, Front controller. Suporte a SCAFFOLDING/CRUD, helpers, Web Debug Toolbar, altamente configuravel(YAML) e gerador de código legivel e documentado.
37. - Arquitetura taxada por ser monolítica, tendo dependências hardcoded excecivas entre as classes, maior dificuldade de integração entre tecnologias distintas.
43. - Nova engine de Forms, com a criação dos componentes sfForm, sfValidators e sfWidget, além da criação do componente EventDispatcher, garantindo um menor acoplamento entre as classes do controller e view.
44.
45. Criação dos novos componentes; Dependency Injection Container, Templating Framework, Routing, Forms, Output Escaping e Controller Handling que passarão a utilizar as novas features do PHP 5.3. O objetivo é termos uma framework altamente desacoplável, baseada na arquitetura microkernel de modo a garantir uma melhor integração, seja com outras frameworks ou tecnologias php's distintas.