View
5.316
Download
0
Category
Preview:
DESCRIPTION
Apresentação utilizada no minicurso de CakePHP apresentado nos eventos: - Latinoware 2009 / COLAPHP ( http://latinoware.org/node/41 ) - 2º Workshop PHPMS ( http://www.phpms.org/workshops/186-2o-workshop-do-phpms );
Citation preview
Conhecendo o CakePHPConhecendo o CakePHP
Introdução ao Framework CakePHPIntrodução ao Framework CakePHP
Cauan CabralCauan Cabral
O que é CakePHP?O que é CakePHP?
Framework PHP gratuito e opensource;
Projeto com mais de 4 anos de desenvolvimento;
Tem como uma de suas principais características o uso de convenções no lugar de configurações;
Algumas característicasAlgumas características
Compatível com as versões do PHP entre 4.x e 5.2.x (release beta com suporte ao 5.3.x já liberado);
Framework Orientado a Objetos;
Divisão em camadas: MVC;
Abstração da camada de persistência: DBO;
Mapeamento Objeto Relacional: ORM;
Facilidades OferecidasFacilidades Oferecidas
Implementação de vários recursos utilizados com frequência no desenvolvimento de uma aplicação, alguns deles:
Componente para controle de acessos (Auth) e gestão de permissões (Acl);
Geração de formulários (FormHelper), código javascript (JavascriptHelper) e ajax (AjaxHelper);
Validação de dados embutida;
Mais facilidadesMais facilidades
Geração de código para CRUD (Create, Read, Update, Delete);
Internacionalização (i18n) e Localização (l10n) nativamente;
Suporte a uma grande variedade de bancos de dados nativamente;
Suporte a Cache;
Componentes para envio de Email, tratamento de requisições e vários outros;
EstruturaEstrutura
Models – Representam as “coisas” de sua aplicação;
Behaviors – Adicionam comportamentos aos models;
DataSource – Adicionam suporte há uma nova fonte de dados para seus models (ex.: Twitter e Facebook);
EstruturaEstrutura
Controllers – Fazem o “meio-de-campo” entre a apresentação (View) e os dados (Model);
Components – Adicionam funcionalidades ao controller;
Views – É a apresentação dos dados de seu sistema. Pode gerar uma saída em PDF, HTML, JSON...
Helpers – Adicionam funcionalidades a view, como para geração de formulários, tabelas...;
Vendors – Bibliotecas externas ao framework que podem ser usadas em qualquer parte da aplicação.
ConvençõesConvenções
Nome de classes:
Controllers: MyUsersController;
Models: MyUser;
Views: MyUserView;
Nomes de arquivos:
Controllers: my_users_controller.php;
Models: my_user.php
Views: my_users/underscored_action.ctp
Camadas do CakePHPCamadas do CakePHP
Mãos à massaMãos à massa
Vamos iniciar a construção de nossa aplicação utilizando o CakePHP;
Esta aplicação se chamará “Pagode” e é um sistema de gestão financeira pessoal.
ComeçandoComeçando
Precisamos fazer o download do CakePHP: http://cakephp.org (baixe a última versão estável);
Descompactar o framework dentro da raiz do servidor web;
Testar o acesso ao servidor: http://localhost
Resolver as pendências citadas pelo framework:
Permissão de escrita em /app/tmp;
Alterar hash de segurança Security.salt;
Configurar banco de dados;
Banco de DadosBanco de Dados
O SQL para nosso banco é:O SQL para nosso banco é:
CREATE DATABASE `pagode` ;CREATE DATABASE `pagode` ;
CREATE TABLE IF NOT EXISTS `pagode`.`bills` (CREATE TABLE IF NOT EXISTS `pagode`.`bills` ( `id` int(11) NOT NULL auto_increment,`id` int(11) NOT NULL auto_increment, `amount` float NOT NULL,`amount` float NOT NULL, `description` varchar(64) collate utf8_unicode_ci NOT NULL,`description` varchar(64) collate utf8_unicode_ci NOT NULL, `compensate_at` date NOT NULL,`compensate_at` date NOT NULL, `created` datetime default NULL,`created` datetime default NULL, PRIMARY KEY (`id`)PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;AUTO_INCREMENT=1 ;
Bake – Gerando CódigoBake – Gerando Código
Utilizaremos o Bake para gerar a base de todos os nossos códigos: model, controller e a view;
Vamos adicionar o PHP ao PATH do sistema;
Para acessar o Bake, abra o terminal (prompt de comando no Windows), navegue até a pasta \cake\core\console\
Execute o comando “cake”
Bake – Poupando tempoBake – Poupando tempo
O Bake é capaz de gerar:
Models com validação e associações;
Controllers que utilizam Components e Helpers, e que implementam as ações “CRUD”;
Views para as ações geradas para o item anterior;
Ele também nos ajuda:
A criar um novo projeto com, replicando a árvore de diretórios necessária;
Efetuar as configurações de banco de dados.
Tela do Bake no LinuxTela do Bake no Linux
O que acontece ao acessar um O que acontece ao acessar um endereço?endereço?
ConclusãoConclusão
O CakePHP nos permite dedicar tempo ao que realmente importa: a lógica de nosso sistema;
Ele é compatível com um grande número de servidores (incluindo diferentes versões do PHP e Apache)
Desenvolver com CakePHP é fácil e rápido.
Contato...Contato...
Email: cauan@radig.com.br
Blog: http://geek.cauancabral.net
MSN: cauanc@gmail.com
Gtalk: cauanc@gmail.com
Twitter: cauancabral
IRC @ Freenode: CauanCabral
http://linkedin.com/in/cauancabral
Recommended