SlideShare uma empresa Scribd logo
1 de 75
Baixar para ler offline
Symfony
Desenvolvimento ágil com PHP
sábado, 20 de novembro de 2010
Luã de Souza
‣ Sócio e desenvolvedor do grupo Tapronto
‣ 6 anos de PHP
‣ www.lsouza.pro.br
‣ www.tapronto.com.br
‣ @hisamu
sábado, 20 de novembro de 2010
Symfony
sábado, 20 de novembro de 2010
‣ Mantido pela Sensio Labs (frança)
‣ 5 anos de projeto
‣ Versão atual: 1.4
‣ PHP 5.2.5+
‣ www.symfony-project.org
sábado, 20 de novembro de 2010
‣ MVC
‣ Desenvolvimento ágil
‣ Código bem feito
‣ DRY - Não reinvente a roda
sábado, 20 de novembro de 2010
Quem usa?
sábado, 20 de novembro de 2010
sábado, 20 de novembro de 2010
‣ Dailymotion
sábado, 20 de novembro de 2010
‣ Dailymotion
‣ Yahoo! Answers
sábado, 20 de novembro de 2010
‣ Dailymotion
‣ Yahoo! Answers
‣ Yahoo! Bookmaks
sábado, 20 de novembro de 2010
‣ Dailymotion
‣ Yahoo! Answers
‣ Yahoo! Bookmaks
‣ Delicious
sábado, 20 de novembro de 2010
‣ MVC sólido e bem feito
‣ CLI - Linha de comando
‣ Routing
‣ Form API
‣ Debug
‣ Admin generator
‣ Scaffolding
‣ Plugins
‣ I18N
‣ Cache
‣ Testes
‣ Comunidade
Features
sábado, 20 de novembro de 2010
Estrutura de Diretórios
sábado, 20 de novembro de 2010
Diretórios
Diretório raiz
sábado, 20 de novembro de 2010
Diretórios
Diretório raiz
sábado, 20 de novembro de 2010
Diretórios
Diretório raiz
Diretório /apps
sábado, 20 de novembro de 2010
Diretórios
Diretório raiz
Diretório /apps
sábado, 20 de novembro de 2010
Diretórios
Diretório raiz
Diretório /apps
sábado, 20 de novembro de 2010
Diretórios
Diretório raiz
Diretório /web
Diretório /apps
sábado, 20 de novembro de 2010
Diretórios
Diretório raiz
Diretório /web
Diretório /apps
sábado, 20 de novembro de 2010
YML
sábado, 20 de novembro de 2010
YML - Sintaxe
sábado, 20 de novembro de 2010
O modelo MVC
sábado, 20 de novembro de 2010
MVC
View Model
Controller
sábado, 20 de novembro de 2010
O Controller
sábado, 20 de novembro de 2010
Módulos
Diretório /apps Diretório apps/modules
sábado, 20 de novembro de 2010
Actions
sábado, 20 de novembro de 2010
Actions
sábado, 20 de novembro de 2010
O Model
sábado, 20 de novembro de 2010
Doctrine
‣ ORM
‣ DQL - Doctrine Query Language
‣ Abstração de banco
‣ schema.yml
sábado, 20 de novembro de 2010
schema.yml
sábado, 20 de novembro de 2010
ORM
Diretório lib/model
sábado, 20 de novembro de 2010
ORM
sábado, 20 de novembro de 2010
ORM + DQL
sábado, 20 de novembro de 2010
AView
sábado, 20 de novembro de 2010
Elementos daView
‣ Layout
‣ Templates
‣ Partials
‣ Components
‣ Slots
sábado, 20 de novembro de 2010
Layout
sábado, 20 de novembro de 2010
Layout
sábado, 20 de novembro de 2010
Layout
+
Template
=
Layout
Template
Templates
sábado, 20 de novembro de 2010
Partials e Components
‣ Reutilização de código
‣ Decomposição do
template
‣ Components: partial
com lógica
Template
partial
partial
partial
partial
sábado, 20 de novembro de 2010
CLI - Linha de Comando
sábado, 20 de novembro de 2010
CLI
‣ Comandos executados via terminal
‣ Automação de tarefas
‣ Várias tasks úteis
‣ Personalização de tasks
sábado, 20 de novembro de 2010
$ symfony generate:project meuProjeto
$ symfony doctrine:build-model
$ symfony cache:clear
$ symfony plugin:install sfThumbnail
$ symfony test:all
sábado, 20 de novembro de 2010
Routing
sábado, 20 de novembro de 2010
Rotas
sábado, 20 de novembro de 2010
Form API
sábado, 20 de novembro de 2010
Form API
‣ Widgets
‣ Validators
‣ Reutilização de código
‣ Organização
‣ Cada Model possui seu form
sábado, 20 de novembro de 2010
sábado, 20 de novembro de 2010
Forms em uso
sábado, 20 de novembro de 2010
Debug
sábado, 20 de novembro de 2010
sábado, 20 de novembro de 2010
Debug Toolbar
‣ Variáveis e configurações
‣ Logs de execução
‣ Logs de consultas ao banco
‣ Tempo de requisições
sábado, 20 de novembro de 2010
Debug -Variáveis
sábado, 20 de novembro de 2010
Debug -View
sábado, 20 de novembro de 2010
Debug - Timers
sábado, 20 de novembro de 2010
Debug - Querys
sábado, 20 de novembro de 2010
Admin Generator
sábado, 20 de novembro de 2010
Admin Generator
‣ Rapidez no desenvolvimento de backends
‣ Interface pré-pronta
‣ Simples
‣ Apenas um arquivo de configuração
sábado, 20 de novembro de 2010
Admin Generator
‣ $ symfony doctrine:generate-admin frontend
Autor
‣ generator.yml
sábado, 20 de novembro de 2010
generator.yml
sábado, 20 de novembro de 2010
Admin - index
sábado, 20 de novembro de 2010
Admin - Novo
sábado, 20 de novembro de 2010
Admin - Edição
sábado, 20 de novembro de 2010
Scaffolding
sábado, 20 de novembro de 2010
Plugins
sábado, 20 de novembro de 2010
Plugins
‣ sfDoctrineGuard
‣ sfThumbnail
‣ sfFormExtra
‣ sfFeed2
‣ ~1200 plugins
sábado, 20 de novembro de 2010
Testes
sábado, 20 de novembro de 2010
Unit Tests
sábado, 20 de novembro de 2010
Functional Tests
sábado, 20 de novembro de 2010
E agora?
sábado, 20 de novembro de 2010
• www.symfony-project.org/doc/1_4/
• Getting started
• Gentle introduction
• Pratical symfony
sábado, 20 de novembro de 2010
Comunidade
sábado, 20 de novembro de 2010
Comunidade
‣ Documentação do framework
‣ #symfony @ irc.freenode.net
‣ Google groups: #symfony-pt
‣ www.symfonians.net
sábado, 20 de novembro de 2010
Symfony 2
O futuro
sábado, 20 de novembro de 2010
Perguntas? :)
contato@lsouza.pro.br
#php-rio, #symfony-pt, @hisamu
sábado, 20 de novembro de 2010

Mais conteúdo relacionado

Mais procurados

O novo ASP.NET - Campinas .NET - Março/2017
O novo ASP.NET - Campinas .NET - Março/2017O novo ASP.NET - Campinas .NET - Março/2017
O novo ASP.NET - Campinas .NET - Março/2017Renato Groff
 
O novo ASP.NET: o futuro do desenvolvimento Web na plataforma .NET
O novo ASP.NET: o futuro do desenvolvimento Web na plataforma .NETO novo ASP.NET: o futuro do desenvolvimento Web na plataforma .NET
O novo ASP.NET: o futuro do desenvolvimento Web na plataforma .NETRenato Groff
 
O novo ASP.NET - Junho/2016
O novo ASP.NET - Junho/2016O novo ASP.NET - Junho/2016
O novo ASP.NET - Junho/2016Renato Groff
 
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017Renato Groff
 
ASP.NET Core 2.0 - Reply - Outubro/2017
ASP.NET Core 2.0 - Reply - Outubro/2017ASP.NET Core 2.0 - Reply - Outubro/2017
ASP.NET Core 2.0 - Reply - Outubro/2017Renato Groff
 
ASP.NET Core 2.0 - .NET São Paulo - Outubro-2017
ASP.NET Core 2.0 - .NET São Paulo - Outubro-2017ASP.NET Core 2.0 - .NET São Paulo - Outubro-2017
ASP.NET Core 2.0 - .NET São Paulo - Outubro-2017Renato Groff
 
Trabalhando de forma profissional com silex
Trabalhando de forma profissional com silexTrabalhando de forma profissional com silex
Trabalhando de forma profissional com silexMichael Douglas
 
O novo ASP.NET - dotnetConf.Local 2016 - Santos-SP
O novo ASP.NET - dotnetConf.Local 2016 - Santos-SPO novo ASP.NET - dotnetConf.Local 2016 - Santos-SP
O novo ASP.NET - dotnetConf.Local 2016 - Santos-SPRenato Groff
 
O novo ASP.NET - PUC Developers Day - 2016
O novo ASP.NET - PUC Developers Day - 2016O novo ASP.NET - PUC Developers Day - 2016
O novo ASP.NET - PUC Developers Day - 2016Renato Groff
 
Implementando APIs multiplataforma com o ASP.NET Core - Campus Party Brasil 2018
Implementando APIs multiplataforma com o ASP.NET Core - Campus Party Brasil 2018Implementando APIs multiplataforma com o ASP.NET Core - Campus Party Brasil 2018
Implementando APIs multiplataforma com o ASP.NET Core - Campus Party Brasil 2018Renato Groffe
 
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geralRenato Groff
 

Mais procurados (12)

O novo ASP.NET - Campinas .NET - Março/2017
O novo ASP.NET - Campinas .NET - Março/2017O novo ASP.NET - Campinas .NET - Março/2017
O novo ASP.NET - Campinas .NET - Março/2017
 
O novo ASP.NET: o futuro do desenvolvimento Web na plataforma .NET
O novo ASP.NET: o futuro do desenvolvimento Web na plataforma .NETO novo ASP.NET: o futuro do desenvolvimento Web na plataforma .NET
O novo ASP.NET: o futuro do desenvolvimento Web na plataforma .NET
 
O novo ASP.NET - Junho/2016
O novo ASP.NET - Junho/2016O novo ASP.NET - Junho/2016
O novo ASP.NET - Junho/2016
 
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017
ASP.NET Core: visão geral, exemplos práticos e novidades - .NET SP - Agosto-2017
 
ASP.NET Core 2.0 - Reply - Outubro/2017
ASP.NET Core 2.0 - Reply - Outubro/2017ASP.NET Core 2.0 - Reply - Outubro/2017
ASP.NET Core 2.0 - Reply - Outubro/2017
 
ASP.NET Core 2.0 - .NET São Paulo - Outubro-2017
ASP.NET Core 2.0 - .NET São Paulo - Outubro-2017ASP.NET Core 2.0 - .NET São Paulo - Outubro-2017
ASP.NET Core 2.0 - .NET São Paulo - Outubro-2017
 
Trabalhando de forma profissional com silex
Trabalhando de forma profissional com silexTrabalhando de forma profissional com silex
Trabalhando de forma profissional com silex
 
O novo ASP.NET - dotnetConf.Local 2016 - Santos-SP
O novo ASP.NET - dotnetConf.Local 2016 - Santos-SPO novo ASP.NET - dotnetConf.Local 2016 - Santos-SP
O novo ASP.NET - dotnetConf.Local 2016 - Santos-SP
 
O novo ASP.NET - PUC Developers Day - 2016
O novo ASP.NET - PUC Developers Day - 2016O novo ASP.NET - PUC Developers Day - 2016
O novo ASP.NET - PUC Developers Day - 2016
 
Primeiros passos com protractor - GUTS-SC
Primeiros passos com protractor - GUTS-SCPrimeiros passos com protractor - GUTS-SC
Primeiros passos com protractor - GUTS-SC
 
Implementando APIs multiplataforma com o ASP.NET Core - Campus Party Brasil 2018
Implementando APIs multiplataforma com o ASP.NET Core - Campus Party Brasil 2018Implementando APIs multiplataforma com o ASP.NET Core - Campus Party Brasil 2018
Implementando APIs multiplataforma com o ASP.NET Core - Campus Party Brasil 2018
 
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
 

Semelhante a Symfony Desenvolvimento Ágil PHP

Introdução ao Python - FTEC
Introdução ao Python - FTECIntrodução ao Python - FTEC
Introdução ao Python - FTECDorneles Treméa
 
Symfony - PHP pra gente grande
Symfony - PHP pra gente grandeSymfony - PHP pra gente grande
Symfony - PHP pra gente grandeLuã de Souza
 
Ludeos - Venda seu conteúdo online (how it works)
Ludeos - Venda seu conteúdo online (how it works)Ludeos - Venda seu conteúdo online (how it works)
Ludeos - Venda seu conteúdo online (how it works)Osvaldo Santana Neto
 
Oficina de infraestrutura como código (apresentando o Puppet)
Oficina de infraestrutura como código (apresentando o Puppet)Oficina de infraestrutura como código (apresentando o Puppet)
Oficina de infraestrutura como código (apresentando o Puppet)Jose Augusto Carvalho
 
Meu Plone Site está lento. O que fazer???
Meu Plone Site está lento. O que fazer???Meu Plone Site está lento. O que fazer???
Meu Plone Site está lento. O que fazer???Fabiano Weimar
 
.NET 5, C# 9.0 e outras novidades | TDC São Paulo Online 2020
.NET 5, C# 9.0 e outras novidades | TDC São Paulo Online 2020.NET 5, C# 9.0 e outras novidades | TDC São Paulo Online 2020
.NET 5, C# 9.0 e outras novidades | TDC São Paulo Online 2020Renato Groff
 
Introdução ao Python & Web Services
Introdução ao Python & Web ServicesIntrodução ao Python & Web Services
Introdução ao Python & Web ServicesDorneles Treméa
 
Composer dependency manager
Composer   dependency managerComposer   dependency manager
Composer dependency managerVitor Mattos
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Alexandre Tarifa
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPElton Minetto
 
Ao infinito e além com PHP memcached e Gearman
Ao infinito e além com PHP memcached e GearmanAo infinito e além com PHP memcached e Gearman
Ao infinito e além com PHP memcached e GearmanElton Minetto
 
Testar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhorTestar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhorAugusto Pascutti
 
Drupal 8: desenvolvendo fora da ilha
Drupal 8: desenvolvendo fora da ilhaDrupal 8: desenvolvendo fora da ilha
Drupal 8: desenvolvendo fora da ilhaLuiz Filho
 

Semelhante a Symfony Desenvolvimento Ágil PHP (18)

Introdução ao Python - FTEC
Introdução ao Python - FTECIntrodução ao Python - FTEC
Introdução ao Python - FTEC
 
Symfony - PHP pra gente grande
Symfony - PHP pra gente grandeSymfony - PHP pra gente grande
Symfony - PHP pra gente grande
 
Ludeos - Venda seu conteúdo online (how it works)
Ludeos - Venda seu conteúdo online (how it works)Ludeos - Venda seu conteúdo online (how it works)
Ludeos - Venda seu conteúdo online (how it works)
 
Php do Jeito Certo
Php do Jeito CertoPhp do Jeito Certo
Php do Jeito Certo
 
Apresentação Flash Camp Rio 2010 by Raphael Vinicius
Apresentação Flash Camp Rio 2010 by Raphael ViniciusApresentação Flash Camp Rio 2010 by Raphael Vinicius
Apresentação Flash Camp Rio 2010 by Raphael Vinicius
 
Html 5 e Css3
Html 5 e Css3Html 5 e Css3
Html 5 e Css3
 
Seu site voando
Seu site voandoSeu site voando
Seu site voando
 
Fabric
FabricFabric
Fabric
 
Oficina de infraestrutura como código (apresentando o Puppet)
Oficina de infraestrutura como código (apresentando o Puppet)Oficina de infraestrutura como código (apresentando o Puppet)
Oficina de infraestrutura como código (apresentando o Puppet)
 
Meu Plone Site está lento. O que fazer???
Meu Plone Site está lento. O que fazer???Meu Plone Site está lento. O que fazer???
Meu Plone Site está lento. O que fazer???
 
.NET 5, C# 9.0 e outras novidades | TDC São Paulo Online 2020
.NET 5, C# 9.0 e outras novidades | TDC São Paulo Online 2020.NET 5, C# 9.0 e outras novidades | TDC São Paulo Online 2020
.NET 5, C# 9.0 e outras novidades | TDC São Paulo Online 2020
 
Introdução ao Python & Web Services
Introdução ao Python & Web ServicesIntrodução ao Python & Web Services
Introdução ao Python & Web Services
 
Composer dependency manager
Composer   dependency managerComposer   dependency manager
Composer dependency manager
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHP
 
Ao infinito e além com PHP memcached e Gearman
Ao infinito e além com PHP memcached e GearmanAo infinito e além com PHP memcached e Gearman
Ao infinito e além com PHP memcached e Gearman
 
Testar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhorTestar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhor
 
Drupal 8: desenvolvendo fora da ilha
Drupal 8: desenvolvendo fora da ilhaDrupal 8: desenvolvendo fora da ilha
Drupal 8: desenvolvendo fora da ilha
 

Symfony Desenvolvimento Ágil PHP