3. TÓPICOS
•Principais Frameworks PHP
•Características
•Um mais sobre o CakePHP.
•Cookbook do CakePHP
•Possíveis desvantagens?
•Padrão de Arquitetura MVC
•Estrutura funcional
•Estrutura de arquivos
•Convenções
•Aplicação de Exemplos
•SEGURANÇA – Componentes Principais
•CRUD via Scaffolding
•CRUD via BAKE
•Requisitos
•CONCLUSÕES
•REFERENCIAS
5. Características comuns
•Fácil Instalação
•Agilizar o desenvolvimento
•Geradores de código
•Conceitos Ruby on Rails (CakePHP e Symfony)
•Componente de segurança: ACL, Auth e etc
•Gerencimanto de Cache
•Padrão de arquitetura MVC
•Padrão de projeto OHM (Dados->Classe->Objeto)
•Documentação e Comunidades ativas
Curva de aprendizagem
CakePHP e CodeIgniter são mais focados na simplicidade e
oferecem menor curva de aprendizagem. Destes o CakePHP
é o mais “robusto”.
6. Um pouco mais sobre o CakePHP
CakePHP é gratuito, de código aberto, um framework em PHP para
desenvolvimento ágil. Possibilita aos programadores de todos os
níveis desenvolverem aplicações web robustas rapidamente.
http://www.cakephp.com.br/pages/features
7. CakePHP
Por que usar o CakePHP?
•Porque é um verdadeiro padrão de projeto (design
pattern) e torna fácil a manutenção da sua aplicação,
com pacotes modulares de rápido desenvolvimento.
•A divisão em camadas (models, views e controllers) faz
com que sua aplicação fique leve e independente.
•Usa a técnica ORM (Mapeamento objeto-relacional).
Usa convenção ao invés de configuração.
8. Sumário completo do Cookbook do CakePHP
http://book.cakephp.org/pt/toc/3/Manual
14. CakePHP
Convenções
MODEL
•Nome da tabela SEMPRE no plural (ex.: model post -> tabela posts)
•Toda tabela deve possuir a chave primária id (auto-numérica ou com 36
caracteres)
CONTROLLER
•Nome SEMPRE no plural (ex.: model post -> controller posts)
•Nome do arquivo no padrão <model no plural>_controller.php
31. CakePHP
SEGURANÇA – ACL
ACL – O ACL (Lista de Controle de Acesso) é um componente nativo que
fornece controle de acesso aos dados.
32. CakePHP
SEGURANÇA – Componente Auth
Auth - O Ault (Autenticação) é um componente que controla o acesso de usuários
ao sistema web. Combinado com ACL, cria um complexo sistema de segurança.
33. CakePHP
SEGURANÇA – Componente Security
Security – Um componente que permite ajustar maior controle à autenticação de
HTTP.
34. CakePHP
CRUD via Scaffolding
Vantagens
•Ótimo pra prototipar aplicações
•Pode ser usado em aplicações em produção
Desvantagens
•Não foi feito para ser flexível
•Baixa segurança (em seu estado default)
36. CakePHP
CRUD via BAKE
Vantagens
•Cria “esqueletos” de models, views e controllers
•Ao contrário do scaffold, cria arquivos reais na app
•Permite configurar os modelos
Desvantagens
•Acostuma mal!
•O código pode não coincidir com Code Standard da
equipe.
37. CakePHP
Requisitos
•Servidor HTTP (ex.: Apache com mod_rewrite);
•PHP 4.3.2 ou superior;
•Banco de dados. Oferece suporte para:
•MySQL (4 ou superior);
•PostgreSQL;
•Firebird DB2;
•Microsoft SQL Server;
•Oracle;
•SQLife;
•ODBC; e
•ADOdb.
38. CakePHP
CONCLUSÕES
•O uso de qualquer um desses Frameworks,
aumenta a produtividade.
•Nesta apresentação foi dado um enfoque
maior ao CakePHP, principalmente pelo:
•Suporta à grandes aplicações
•Baixa curva de aprendizagem
•Ferramentas de prototipação poderosas
(bake/scaffold)
•Arquitetura consistente e flexível
•Helpers ajudam “um bocado”
•Codificação limpa, correta e sustentável
39. CakePHP
REFERENCIAS
O’BRIEN, Duane. Elabore web sites rapidamente com CakePHP:
•http://www.ibm.com/developerworks/br/library/os-php-cake1/
•http://www.ibm.com/developerworks/br/library/os-php-cake2/
•http://www.ibm.com/developerworks/br/library/os-php-cake3/
•http://www.ibm.com/developerworks/br/library/os-php-cake4/
•http://www.ibm.com/developerworks/br/library/os-php-cake5/
Artigos:
•HACKIN, Léo. Aprendendo a fazer um primeiro bolo.
http://www.leohachin.com.br/blog.
•LOPES, Laura. CakePHP Tutorial. http://www.slideshare.net/lauralopes/cake-php-
2356380
•Manual oficial do CakePHP. http://book.cakephp.org/pt
•ALBUQUERQUE, Márcio; THOMAS, Leonardo; CURI, Marcelo; FRANCO, Sandro. Palestra
FrameWARks PHP. http://vimeo.com/8859258