Boas Praticas com CakePHP

Post on 22-Jul-2015

45 views 1 download

Transcript of Boas Praticas com CakePHP

Boas Práticas com CakePHP

Apresentação

http://www.zend.com/en/yellow-pages/ZEND024124

http://br.linkedin.com/in/rafaelfqf

rafaelfqf@gmail.com

Rafael Queirozrafaelfqf@gmail.com

Introdução

● Compartilhando múltiplas aplicações● Convenções sobre configurações● Comentários no código● Lógica de negócios nos Modelos● Don’t Repeat Yourself● Fat Models, controllers and views skinny

Rafael Queirozrafaelfqf@gmail.com

Rafael Queirozrafaelfqf@gmail.com

● Instalação● ORM● Console

● Usando○ generate -f○ status

● Executando○ run all -p○ run up○ run down

Migrations

Rafael Queirozrafaelfqf@gmail.com

Requests and responses

● CakeRequest é o objeto padrão para requisições

● RequestHandlerComponent é como uma cereja em cima do bolo

● Requests○ GET○ PUT○ POST○ DELETE

● Responses○ JSON○ View○ XML

Models

● Callbacks○ beforeFind○ afterFind○ beforeValidate○ beforeSave○ afterSave○ beforeDelete○ afterDelete○ onError

Rafael Queirozrafaelfqf@gmail.com

● Additional methods○ Custom find types○ Custom your method

● Associations○ counterCache

● Behaviors○ Containable

● Properties○ recursive

Rafael Queirozrafaelfqf@gmail.com

● Instalação● Configurações● Console

● Usando○ $this->AssetCompress->script();○ $this->AssetCompress->css();

● Executando○ build○ clear

AssetCompress

CakePHP Events

● Subject● Observer

Rafael Queirozrafaelfqf@gmail.com

Observer Pattern ● Criando um Evento○ $event = new CakeEvent(‘name’, $subject, $data);○ Nome deve ser único e consistente:

■ App.Model.User.afterLogin■ Cms.Controller.Pages.beforeFilter■ {App/PluginName}.Type.Class.EventName

● Dispatching○ $this->getEventManager()->dispatch($event);

● Listeneres○ Implement CakeEventListener Interface○ Convenção: Colocá-los em Lib/Event

Dicas● Events.php config● Documentação

Boas Práticas com CakePHP

OBRIGADO!