Symfony	

PHP OOP para gente grande
Luã de Souza	

‣    Sócio e desenvolvedor do grupo Tapronto	

‣    6 anos de PHP	

‣    www.lsouza.pro.br	

‣    www.tapronto.com.br	

‣    @hisamu
Symfony
‣    Mantido pela Sensio Labs (frança)	


‣    5 anos de projeto	


‣    Versão atual: 1.4	


‣    PHP 5.2.5+	


‣    www.symfony-project.org
‣    MVC	


‣    Desenvolvimento ágil	


‣    Código bem feito	


‣    DRY - Não reinvente a roda
Quem usa?
‣    Dailymotion	


‣    Yahoo! Answers	


‣    Yahoo! Bookmaks	


‣    Delicious
Features	

‣    MVC sólido e bem feito	

   ‣    Scaffolding	


‣    CLI - Linha de comando	

   ‣    Plugins	


‣    Routing	

                  ‣    I18N	


‣    Form API 	

                ‣    Cache	


‣    Debug	

                    ‣    Testes	


‣    Comunidade	

     Admin generator
Estrutura de Diretórios
Diretórios
YML
O modelo MVC
MVC
O Controller
Módulos
Actions
O Model
Doctrine	


‣    ORM	

‣    DQL - Doctrine Query Language	

‣    Abstração de banco	

‣    schema.yml
schema.yml
ORM
ORM
ORM + DQL
A View
Elementos da View	

‣    Layout	

‣    Templates	

‣    Partials	

‣    Components	

‣    Slots
Layout
Templates	




+	

      =
Partials e Components	


‣    Reutilização de código	


‣    Decomposição do
     template	


‣    Components: partial
     com lógica
CLI - Linha de Comando
CLI	


‣    Comandos executados via terminal	

‣    Automação de tarefas	

‣    Várias tasks úteis	

‣    Personalização de tasks
$ symfony generate:project meuProjeto	


$ symfony doctrine:build-model	


$ symfony cache:clear	


$ symfony plugin:install sfThumbnail	


$ symfony test:all
Routing
Rotas
Form API
Form API	

‣    Widgets	

‣    Validators	

‣    Reutilização de código	

‣    Organização	

‣    Cada Model possui seu form
Forms em uso
Debug
Debug Toolbar	


‣    Variáveis e configurações	

‣    Logs de execução	

‣    Logs de consultas ao banco	

‣    Tempo de requisições
Debug - Variáveis
Debug - View
Debug - Timers
Debug - Querys
Admin Generator
Admin Generator	


‣    Rapidez no desenvolvimento de backends	

‣    Interface pré-pronta	

‣    Simples	

‣    Apenas um arquivo de configuração
Admin Generator	


‣ $
  symfony doctrine:generate-admin frontend
 Autor	

‣ generator.yml
generator.yml
Admin - index
Admin - Novo
Admin - Edição
Scaffolding
Plugins
Plugins	

‣    sfDoctrineGuard	

‣    sfThumbnail	

‣    sfFormExtra	

‣    sfFeed2	

‣    1100+ plugins
Testes
Comunidade
Comunidade	


‣    Documentação do framework	

‣    #symfony @ irc.freenode.net	

‣    Google groups: #symfony-pt	

‣    www.symfonians.net
Perguntas? :)	


    contato@lsouza.pro.br	

#php-rio, #symfony-pt, @hisamu

Symfony - PHP pra gente grande