Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

75
Symfony Desenvolvimento ágil com PHP sábado, 20 de novembro de 2010

Transcript of Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Page 1: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

SymfonyDesenvolvimento ágil com PHP

sábado, 20 de novembro de 2010

Page 2: Desenvolvimento Ágil com Symfony - PHP'n Rio 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

Page 3: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Symfony

sábado, 20 de novembro de 2010

Page 4: Desenvolvimento Ágil com Symfony - PHP'n Rio 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

Page 5: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

‣ MVC

‣ Desenvolvimento ágil

‣ Código bem feito

‣ DRY - Não reinvente a roda

sábado, 20 de novembro de 2010

Page 6: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Quem usa?

sábado, 20 de novembro de 2010

Page 7: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

sábado, 20 de novembro de 2010

Page 8: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

‣ Dailymotion

sábado, 20 de novembro de 2010

Page 9: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

‣ Dailymotion

‣ Yahoo! Answers

sábado, 20 de novembro de 2010

Page 10: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

‣ Dailymotion

‣ Yahoo! Answers

‣ Yahoo! Bookmaks

sábado, 20 de novembro de 2010

Page 11: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

‣ Dailymotion

‣ Yahoo! Answers

‣ Yahoo! Bookmaks

‣ Delicious

sábado, 20 de novembro de 2010

Page 12: Desenvolvimento Ágil com Symfony - PHP'n Rio 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

Page 13: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Estrutura de Diretórios

sábado, 20 de novembro de 2010

Page 14: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Diretórios

Diretório raiz

sábado, 20 de novembro de 2010

Page 15: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Diretórios

Diretório raiz

sábado, 20 de novembro de 2010

Page 16: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Diretórios

Diretório raiz

Diretório /apps

sábado, 20 de novembro de 2010

Page 17: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Diretórios

Diretório raiz

Diretório /apps

sábado, 20 de novembro de 2010

Page 18: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Diretórios

Diretório raiz

Diretório /apps

sábado, 20 de novembro de 2010

Page 19: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Diretórios

Diretório raiz

Diretório /web

Diretório /apps

sábado, 20 de novembro de 2010

Page 20: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Diretórios

Diretório raiz

Diretório /web

Diretório /apps

sábado, 20 de novembro de 2010

Page 21: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

YML

sábado, 20 de novembro de 2010

Page 22: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

YML - Sintaxe

sábado, 20 de novembro de 2010

Page 23: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

O modelo MVC

sábado, 20 de novembro de 2010

Page 24: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

MVC

View Model

Controller

sábado, 20 de novembro de 2010

Page 25: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

O Controller

sábado, 20 de novembro de 2010

Page 26: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Módulos

Diretório /apps Diretório apps/modules

sábado, 20 de novembro de 2010

Page 27: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Actions

sábado, 20 de novembro de 2010

Page 28: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Actions

sábado, 20 de novembro de 2010

Page 29: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

O Model

sábado, 20 de novembro de 2010

Page 30: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Doctrine

‣ ORM

‣ DQL - Doctrine Query Language

‣ Abstração de banco

‣ schema.yml

sábado, 20 de novembro de 2010

Page 31: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

schema.yml

sábado, 20 de novembro de 2010

Page 32: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

ORM

Diretório lib/model

sábado, 20 de novembro de 2010

Page 33: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

ORM

sábado, 20 de novembro de 2010

Page 34: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

ORM + DQL

sábado, 20 de novembro de 2010

Page 35: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

A View

sábado, 20 de novembro de 2010

Page 36: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Elementos da View

‣ Layout

‣ Templates

‣ Partials

‣ Components

‣ Slots

sábado, 20 de novembro de 2010

Page 37: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Layout

sábado, 20 de novembro de 2010

Page 38: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Layout

sábado, 20 de novembro de 2010

Page 39: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Layout

+Template

=

Layout

Template

Templates

sábado, 20 de novembro de 2010

Page 40: Desenvolvimento Ágil com Symfony - PHP'n Rio 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

Page 41: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

CLI - Linha de Comando

sábado, 20 de novembro de 2010

Page 42: Desenvolvimento Ágil com Symfony - PHP'n Rio 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

Page 43: Desenvolvimento Ágil com Symfony - PHP'n Rio 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

Page 44: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Routing

sábado, 20 de novembro de 2010

Page 45: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Rotas

sábado, 20 de novembro de 2010

Page 46: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Form API

sábado, 20 de novembro de 2010

Page 47: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Form API

‣ Widgets

‣ Validators

‣ Reutilização de código

‣ Organização

‣ Cada Model possui seu form

sábado, 20 de novembro de 2010

Page 48: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

sábado, 20 de novembro de 2010

Page 49: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Forms em uso

sábado, 20 de novembro de 2010

Page 50: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Debug

sábado, 20 de novembro de 2010

Page 51: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

sábado, 20 de novembro de 2010

Page 52: Desenvolvimento Ágil com Symfony - PHP'n Rio 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

Page 53: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Debug - Variáveis

sábado, 20 de novembro de 2010

Page 54: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Debug - View

sábado, 20 de novembro de 2010

Page 55: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Debug - Timers

sábado, 20 de novembro de 2010

Page 56: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Debug - Querys

sábado, 20 de novembro de 2010

Page 57: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Admin Generator

sábado, 20 de novembro de 2010

Page 58: Desenvolvimento Ágil com Symfony - PHP'n Rio 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

Page 59: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Admin Generator

‣ $ symfony doctrine:generate-admin frontend Autor

‣ generator.yml

sábado, 20 de novembro de 2010

Page 60: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

generator.yml

sábado, 20 de novembro de 2010

Page 61: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Admin - index

sábado, 20 de novembro de 2010

Page 62: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Admin - Novo

sábado, 20 de novembro de 2010

Page 63: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Admin - Edição

sábado, 20 de novembro de 2010

Page 64: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Scaffolding

sábado, 20 de novembro de 2010

Page 65: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Plugins

sábado, 20 de novembro de 2010

Page 66: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Plugins

‣ sfDoctrineGuard

‣ sfThumbnail

‣ sfFormExtra

‣ sfFeed2

‣ ~1200 plugins

sábado, 20 de novembro de 2010

Page 67: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Testes

sábado, 20 de novembro de 2010

Page 68: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Unit Tests

sábado, 20 de novembro de 2010

Page 69: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Functional Tests

sábado, 20 de novembro de 2010

Page 70: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

E agora?

sábado, 20 de novembro de 2010

Page 71: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

• www.symfony-project.org/doc/1_4/

• Getting started

• Gentle introduction

• Pratical symfony

sábado, 20 de novembro de 2010

Page 72: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Comunidade

sábado, 20 de novembro de 2010

Page 73: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Comunidade

‣ Documentação do framework

‣ #symfony @ irc.freenode.net

‣ Google groups: #symfony-pt

‣ www.symfonians.net

sábado, 20 de novembro de 2010

Page 74: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Symfony 2O futuro

sábado, 20 de novembro de 2010

Page 75: Desenvolvimento Ágil com Symfony - PHP'n Rio 2010

Perguntas? :)

[email protected]#php-rio, #symfony-pt, @hisamu

sábado, 20 de novembro de 2010