Introdução ao CakePHP

Postado por Carlos Fernando Sylverio | Postado em Programação | Postado em 23-08-2009

0

CakePHP é um framework escrito em PHP, que possibilita o desenvolvimento de aplicações (PHP) web robustas rapidamente sem perder flexibilidade.
O CakePHP é Open Source e fornece uma arquitetura extensível para desenvolvimento, manutenção, e distribuição de aplicações por meio de patterns conhecidos como ActiveRecord, Association Data Mapping, Front Controller, MVC (Model-View-Controller) e ORM.

Entendendo o MVC

O CakePHP segue o design pattern MVC, que separa sua aplicação em três camadas principais?
1. Model representa os dados da aplicação.
2. View representa o modelo de apresentação dos dados.
3. Controller recebe e encaminha requisições feitas pelo cliente.

Cake MVC

1.Cliente (browser) faz requisição para o servidor web;
2.O expedidor (dispacher) verifica a URL e encaminha a requisição para o controller correto.
3.O controller realiza a específica lógica da aplicação.
4.O controller utiliza o model para se ter acesso aos dados da aplicação.
5.Depois os dados o controller os encaminha para view. A view pega os dados e os prepara no formato de apresentação específico para o cliente.
6.Uma vez criado a apresentação, este é retornado para o browser.

Observação:

  • A camada de Model representa os dados da aplicação, não é representação de um banco de dados ou entidades da aplicação, ela poderia estar acessando um WebService, por exemplo, para obter os dados da aplicação, isolando assim a camada de apresentação com a camada de negócio.
  • Usualmente as views no CakePHP são no formato HTML, mas podem ser PDF, XML, JSON, isso depende mais qual será o propósito de sua utilização.

Estrutura do CakePHP

Alem das classes de Model, View e Controller o CakePHP também possui algumas características como classes de Components, Behaviors e Helpers que auxiliam o desenvolvimento.

Controller – são equipados com callbacks, que possibilita inserir operações no núcleo do CakePHP;
Component – compartilha a lógica entre controllers;
Helper – compartilha a lógica entre as views;
Behaviors – adiciona funcionalidade entre models;
DataSources – abstrações que permitem os models manipularem diferentes tipos de dados consistente;

Convenções

O CakePHP possui já um estilo de programação que pode ser acompanhado em book.cakephp.org

Segue uma lista básica de estilo:

nomes de arquivo devem ser sublinhados;
nome de classes devem ser CamelCase;
nome de controller devem estar no plural e ser CamelCase;
deve ter uma função chamada índex();
colocando um sublinhado na frente da função ela será disponível somente para uso interno, não ficando disponível para web por meio do dispatcher.
nome de models devem ser no singular e ser CamelCase;
nome de URL o nome dos controller devem ser no plural e lowerCamelCase, porem curtos. Exemplo: RedCarsController ficaria redCars;

Referências

The Official CakePHP website
The Cookbook
Wikipedia

Até mais :-)