Desenvolvimento em três camadas com PHP 5, MVC e AJAX - Presentation Transcript
Desenvolvimento em três camadas
com PHP 5, MVC e AJAX
Almir Neto – almirneto@gmail.com
Otávio Calaça – otaviocx@gmail.com
http://phpendo.blogspot.com
CoNaPHP – CONISLI 2008
http://www.conaphp.com.br/
São Paulo, 18 e 19 de Outubro de 2008
Desenvolvimento em três camadas
com PHP 5, MVC e AJAX
Grupo de Desenvolvedores PHP de Goiás
Lista de Discussão
●
Troca de Conhecimentos
●
Encontros
●
Palestras
●
Eventos
●
Networking
●
http://www.gophp.com.br
●
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Nova forma de pensar?
Nova tecnologia?
Revolução?
3
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
POOMAX
• PHP
• Orientação a Objetos
MVC
•
• AJAX
4
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
A ascensão da Web 2.0
• O ápice da Web 1.0
– A mania ponto com
• O estouro da Bolha
– A queda da Bolsa de Valores NASDAQ
• Novos conceitos e novo paradigma para a Web
5
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
O que é Web 2.0?
\"Web 2.0 é a mudança para uma internet como
plataforma, e um entendimento das regras para obter
sucesso nesta nova plataforma. Entre outras, a regra
mais importante é desenvolver aplicativos que
aproveitem os efeitos de rede para se tornarem
melhores quanto mais são usados pelas pessoas,
aproveitando a inteligência coletiva\"
Tim O'Reilly
6
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Regras da Web 2.0
• O beta perpétuo
• A Web é a Plataforma
– O navegador fornece aplicações e não conteúdo
• Interatividade
– Cooperativismo
• Desenvolvimento Modular e Inteligente
7
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Paradigmas de Programação
• Programação Estruturada
• Orientação a Objetos
– C++
– Java
– JavaScript
– Perl
– PHP
– Python
– Ruby
– Outras ...
8
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Orientação a Objetos
• Conceito
• Classes
• Objetos
• Métodos
Atributos
•
9
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Orientação a Objetos
• Modificadores de Acesso
– Public
– Private
– Protected
• Palavra-Chave 'final'
10
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Orientação a Objetos
• Herança
• Encapsulamento
– getXXX();
– setXXX();
11
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
O que é MVC?
• Aplicações Monolíticas
• Aplicações em duas camadas
• MVC (Model-View-Controller)
– Padrão de Arquitetura
– É um conceito
– Fácil manutenção
– Objetivos
– Frameworks
12
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Vantagens do MVC
• Reaproveitamento de código
Facilidade de manutenção
•
Integração de equipes e/ou divisão de tarefas
•
• Camada de Persistência independente
• Implementação de segurança
Facilidade na alteração da interface da
•
aplicação
13
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Frameworks MVC
• Akelos
• CakePHP
CodeIgniter
•
• PHP on Trax
• Prado
Symphony
•
Zend
•
• Outros ...
14
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Camadas
• Model
– Bean
– DAO
– Actions
• View
• Controller
15
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Model
• Bean
– Entidade
– Segurança
– Encapsulamento
– Vantagens
16
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Bean – Exemplo
17
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Model
• DAO – Data Access Object
– Persistência
– Portabilidade
– Independência
– Bibliotecas
• Doctrine
• Propel
• Pear::DB_DataObject
18
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
DAO – Exemplo
19
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Model
• Action
– Regras do Negócio
– Integra Bean, DAO e Views
20
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Action – Exemplo
21
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
View
• Ajax
• Templates
• Web Standards
• GTK (desktop)
22
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
View – Exemplo
23
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Controller
• Segurança
• Controlar fluxo da aplicação
– Inicia e finaliza o fluxo
• Utilização de Web Services
– Interoperabilidade
24
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Controller - Exemplo
25
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Estrutura de diretórios
• /aplicacao
– controle.php
– /modulo
• /action
/view
•
• modulo.php (Bean)
• moduloDAO.php
26
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Fluxo da aplicação MVC
27
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Conclusões sobre o MVC
• Manter o baixo acoplamento
• Evitar regras de negócio no Controller
• Nem tudo em três camadas é MVC
28
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
O que é AJAX?
• Requisição Comum
• Outras soluções
– Adobe Flash (Action Script)
– IFrames
• AJAX (Asynchronous Javascript And XML)
– Maior Interação com o Usuário
29
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Fluxo na WEB
Sem AJAX Com AJAX
Navegador Navegador
Pag. WEB
Pag. WEB
Servidor da Servidor da
Pag. WEB Aplicação Aplicação
Página
WEB WEB
da WEB
Pag. WEB
Pag. WEB
Pag. WEB
30
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Vantagens do AJAX
• Possibilita estender os eventos até o
servidor;
• Menor tráfego na rede;
• Transparência para o usuário;
• Semelhança com aplicações Desktop.
31
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
O Objeto XMLHttpRequest
• Requisição Assincrona;
• Ainda não é uma recomendação
padronizada pela W3C (último Working
Draft data de 15/04/2008);
• Divergências entre navegadores.
32
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Principais métodos do XHR
• open(método, URL, async, usuário, senha);
• send(parâmetros);
• abort();
• setRequestHeader(propriedade, valor);
33
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Propriedades do XHR
• onreadystatechange
• readyState
status
•
• statusText
responseText
•
• responseXML
34
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
A Resposta
• XML
• HTML
• Script
• Texto
JSON
•
35
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Bibliotecas JavaScript
• jQuery
• MooTools
• Prototype
• Dojo
Rico
•
extJS
•
36
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Agradecimentos
37
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Perguntas?
Almir Neto
almirneto@gmail.com
Otávio Calaça
otaviocx@gmail.com
38
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Referências
• Trygve's Homepage
http://heim.ifi.uio.no/trygver/
• PHP: Hypertext Preprocessor
http://www.php.net
• PHP Frameworks
http://www.phpframeworks.com/
• JQuery
http://jquery.com/
• PHP Magazine
http://www.phpmagazine.org.br
39
Palestra ministrada no CONAPHP/CONISLI de 2008 expl more
Palestra ministrada no CONAPHP/CONISLI de 2008 explicando como funciona o padrão de arquitetura Model-View-Controller, em PHP, sem uso de frameworks. É tambem analisada a integração deste com AJAX, de forma simples. less
0 comments
Post a comment