Slide 1

Slide 1 text

Workshop Rafael Goulart

Slide 2

Slide 2 text

Consultor em Software Livre Desenvolvedor Web PHP | XHTML | CSS | Web Standards @rgou [email protected] http://tech.rgou.net http://github.com/rafaelgou Rafael Goulart

Slide 3

Slide 3 text

rafael goulart – http://tech.rgou.net 3 Frameworks

Slide 4

Slide 4 text

rafael goulart – http://tech.rgou.net 4 FRAMEWORK É um conjunto de classes que cooperam entre si, fornecendo soluções integradas para problemas comuns no desenvolvimento de software.

Slide 5

Slide 5 text

rafael goulart – http://tech.rgou.net 5 FRAMEWORKS - Características Reutilização Extensibilidade Segurança Eficiência Completude

Slide 6

Slide 6 text

rafael goulart – http://tech.rgou.net 6 APLICAÇÃO Sem FRAMEWORK Biblioteca X de acesso a banco Código pessoal para envio de email Classe Y de internacionalização Telas criadas manualmente Função Z de validação

Slide 7

Slide 7 text

rafael goulart – http://tech.rgou.net 7 APLICAÇÃO Com FRAMEWORK FRAMEWORK Sistema de Templates Internacionalização Classe de envio de email Classe de acesso a dados Validação de dados Plugins Extensões Outros Framworks Mais ... Outras Bibliotecas

Slide 8

Slide 8 text

rafael goulart – http://tech.rgou.net 8 Framework symfony

Slide 9

Slide 9 text

rafael goulart – http://tech.rgou.net 9 symfony Sobre: ● 5 anos ● Última versão 1.4.8 ● 3 anos de suporte na versão estável ( 1.4.x ) ● PHP 5.2.4+ O que fornece: ● MVC ● ORM ● Formulários ● Validação ● Email ● i18n ● Cache ● Plugins

Slide 10

Slide 10 text

rafael goulart – http://tech.rgou.net 10 symfony ● Um conjunto abrangente de soluções para desenvolvimento de sistemas em PHP ● Altamente configurável ● Minimiza tarefas repetitivas ● Foco no importante (essência do negócio) ● Para PROJETOS

Slide 11

Slide 11 text

rafael goulart – http://tech.rgou.net 11 MVC

Slide 12

Slide 12 text

rafael goulart – http://tech.rgou.net 12 MVC Model (Modelo) Regras de negócio e acesso a dados View (Visão) Apresentação / Interação visual com usuário (geralmente interface gráfica) Controller (Controle) Manipulação de requisições e respostas, geralmente com o usuário

Slide 13

Slide 13 text

rafael goulart – http://tech.rgou.net 13 MVC Controller Filtros de Entrada Repasse de ações Filtros de saída Model Persistencia de dados Regras de validação Relacionamentos View Apresentação Layouts Interface Gráfica RESPOSTA REQUISIÇÃO

Slide 14

Slide 14 text

rafael goulart – http://tech.rgou.net 14 MVC CLIENTE SERVIDOR INTERNET Controller View Model Requisição Resposta Fonte: The Definitive Guide to symfony http://www.symfony-project.org/book/1_2

Slide 15

Slide 15 text

rafael goulart – http://tech.rgou.net 15 ORM ● Mapeamento Objeto Relacional ● Metodologia de acesso a bancos de dados relacionais através de orientação a objeto ● Representação: ● Tabelas => Classes ● Registros => Instâncias da Classe (objetos)

Slide 16

Slide 16 text

rafael goulart – http://tech.rgou.net 16 ORMs no symfony Propel 1.4 http://www.propelorm.org Doctrine 1.2 http://www.doctrine-project.org/

Slide 17

Slide 17 text

rafael goulart – http://tech.rgou.net 17 Doctrine ORM ● Doctrine 1.2 exige PHP 5.2.3+ ● Baseado inicialmente no Java Hibernate ● Influenciado pelo Active Record do Ruby on Rails ● Padrão atual do symfony

Slide 18

Slide 18 text

rafael goulart – http://tech.rgou.net 18 Doctrine ORM Doctrine ORM Doctrine ORM Doctrine DBAL Doctrine DBAL PDO PDO API Mapeamento Objeto Relacional ponte entre o modelo relacional e o modelo orientado a objeto API completa de abstração de banco de dados API Básica de abstração de banco de dados do PHP

Slide 19

Slide 19 text

rafael goulart – http://tech.rgou.net 19 Links ● http://www.symfony-project.org/ ● http://www.doctrine-project.org/ ● http://swiftmailer.org/

Slide 20

Slide 20 text

rafael goulart – http://tech.rgou.net 20 Obrigado! Thanks! ¡Muchas Gracias!

Slide 21

Slide 21 text

Consultor em Software Livre Desenvolvedor Web PHP | XHTML | CSS | Web Standards @rgou [email protected] http://tech.rgou.net http://github.com/rafaelgou Rafael Goulart