Introdução ao Framework CakePHP

17
introdução ao framework CakePHP Goiânia, 06 de abril de 2010 Otávio Calaça [email protected] Encontro Tecnologias Abertas

description

Palestra realizada na PUC-GO no Encontro de Tecnologias Abertas, sobre CakePHP.

Transcript of Introdução ao Framework CakePHP

Page 1: 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

Page 2: Introdução ao Framework CakePHP

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

Page 3: Introdução ao Framework CakePHP

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

Page 4: Introdução ao Framework 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

Page 5: Introdução ao Framework CakePHP

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

Page 6: Introdução ao Framework CakePHP

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.

Page 7: Introdução ao Framework CakePHP

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.

Page 8: Introdução ao Framework CakePHP

Introdução ao CakePHP

Desvantagens

• A compatibilidade com PHP 4 pode ser um problema;

• Várias convenções pré-definidas;• Acoplamento relativamente alto.

Page 9: Introdução ao Framework CakePHP

Introdução ao CakePHP

MVC no CakePHP

• Fluxo da Aplicação

Page 10: Introdução ao Framework CakePHP

Introdução ao CakePHP

MVC no CakePHP

• Models

<?phpclass Usuario extends AppModel {

var $name = 'Usuario'; var $useTable = 'usuario'; var $validate = array( 'id' => array('numeric') );

}?>

Page 11: Introdução ao Framework CakePHP

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>

Page 12: Introdução ao Framework CakePHP

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)); }

...}

Page 13: Introdução ao Framework CakePHP

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

Page 14: Introdução ao Framework CakePHP

14

Introdução ao CakePHP

Requisições e Rotas• Rota típica: http://localhost/controller/action/parametros/

Page 15: Introdução ao Framework CakePHP

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.

Page 16: Introdução ao Framework CakePHP

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

Page 17: Introdução ao Framework CakePHP

17

Introdução ao CakePHP

FIM

Perguntas?

Obrigado!

Otávio Calaça – [email protected]://poomax.com.br

@otaviocx