Introdução ao Framework CakePHP
-
Upload
otavio-calaca-xavier -
Category
Technology
-
view
5.841 -
download
1
description
Transcript of Introdução ao Framework CakePHP
introdução ao framework
CakePHP
Goiânia, 06 de abril de 2010
Otávio Calaç[email protected]
Encontro Tecnologias
Abertas
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 ...
Grupo de Desenvolvedores PHP de Goiás
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
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
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
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.
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.
Introdução ao CakePHP
Desvantagens
• A compatibilidade com PHP 4 pode ser um problema;
• Várias convenções pré-definidas;• Acoplamento relativamente alto.
Introdução ao CakePHP
MVC no CakePHP
• Fluxo da Aplicação
Introdução ao CakePHP
MVC no CakePHP
• Models
<?phpclass Usuario extends AppModel {
var $name = 'Usuario'; var $useTable = 'usuario'; var $validate = array( 'id' => array('numeric') );
}?>
Introdução ao CakePHP
MVC no CakePHP
• Visão<div class="produtos form"><?php echo $form->create('Produto');?> <fieldset> <legend><?php __('Add Produto');?></legend>
<?php echo $form->input('nome'); echo $form->input('detalhes'); echo $form->input('descricao');
?> </fieldset><?php echo $form->end('Submit');?></div><div class="actions"> <ul> <li><?php echo $html->link(__('List Produtos', true), array('action' => 'index'));?></li> </ul></div>
Introdução ao CakePHP
MVC no CakePHP
• Controladorclass 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
14
Introdução ao CakePHP
Requisições e Rotas• Rota típica: http://localhost/controller/action/parametros/
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.
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
17
Introdução ao CakePHP
FIM
Perguntas?
Obrigado!
Otávio Calaça – [email protected]://poomax.com.br
@otaviocx