Classe V: Educação à distância com Videoconferência no Moodle
CakePHP Introdução Framework
1. introdução ao framework
CakePHP
Encontro
Otávio Calaça Tecnologias
otaviocx@gmail.com Abertas
Goiânia, 06 de abril de 2010
2. Grupo de Desenvolvedores
PHP de Goiás
Criado em dezembro de 2007;
Lista de Discussão:
− Mais de 400 membros.
Encontros:
− Palestras;
− Networking.
Site:
− www.gophp.com.br
Eventos:
− FLISOL, FGSL, Latinoware, Conisli, CONSOFT, PHP
Conference Brasil ...
3. Introdução ao CakePHP
Roteiro
• O que é MVC?
– Vantagens
• O que é o CakePHP?
– Por que usa-lo?
• MVC no CakePHP
– Extensões Models, Views e Controllers
– Estrutura de Diretórios
• Requisições e Rotas
• Abstração do Banco de Dados Relacional
• Fazendo um CRUD com CakePHP
3
4. Introdução ao CakePHP
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
4
5. Introdução ao CakePHP
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
6. Introdução ao CakePHP
O que é CakePHP
• Framework MVC destinado ao desenvolvimento
ágil;
• Um “Core” para sua aplicação;
• Funciona com PHP 4;
• Rápido e Flexivel.
7. Introdução ao CakePHP
CakePHP, por que usa-lo?
• Aprendizado fácil e rápido;
• Software Livre;
• Grande comunidade brasileira e muita
documentação em português;
• Aplicações Scaffolding;
• Vários componentes já prontos;
• Tudas as vantagens que tem-se em usar
qualquer framework.
8. Introdução ao CakePHP
Desvantagens
• A compatibilidade com PHP 4 pode ser
um problema;
• Várias convenções pré-definidas;
• Acoplamento relativamente alto.
12. Introdução ao CakePHP
MVC no CakePHP
• Controlador
class ProdutosController extends AppController {
var $name = 'Produtos';
var $helpers = array('Html', 'Form');
function index() {
$this->Produto->recursive = 0;
$this->set('produtos', $this->paginate());
}
function view($id = null) {
if (!$id) {
$this->Session->setFlash(__('Invalid Produto.', true));
$this->redirect(array('action'=>'index'));
}
$this->set('produto', $this->Produto->read(null, $id));
}
...
}
13. Introdução ao CakePHP
Estrutura de Diretórios
• app
– config → Configurações da Aplicação
– controllers → Camada de Controle
– locale
– models → Camada de Modelo
– plugins
– tests
– tmp
– vendors
– views → Camada de Visão
– webroot → DocumentRoot da Aplicação
• cake → Núcleo do CakePHP
• vendors → códigos de terceiros 13
14. Introdução ao CakePHP
Requisições e Rotas
• Rota típica: http://localhost/controller/action/parametros/
14
15. Introdução ao CakePHP
Mãos á obra!
• Instalando e configurando o CakePHP;
• Fazendo um CRUD com Scaffolding;
• Analisando o MVC no CakePHP;
• Cozinhando com Bake;
– Geração automática de views, controllers,
models, configuração e ações do CRUD.
15
16. Introdução ao CakePHP
Referências
• Site do CakePHP:
– http://cakephp.org/
• Manual do CakePHP:
– http://book.cakephp.org/
• CakePHP Book Store:
– http://astore.amazon.com/cakesoftwaref-20
16
17. Introdução ao CakePHP
FIM
Perguntas?
Otávio Calaça – otaviocx@gmail.com
http://poomax.com.br
@otaviocx
Obrigado!
17