Cake PHP

adaoex 2,112 views 39 slides May 21, 2010
Slide 1
Slide 1 of 39
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39

About This Presentation

Nesta apresentação é mostrado um as principais características dos principais Frameworks PHP, com uma ênfase maior ao CakePHP.


Slide Content

Análise de
Frameworks PHP
Adão F C Gonçalves
[email protected]
Analista de Sistemas

Fontes de informações
Podcasts
Artigos on-line
Palestras on-line

TÓPICOS
•Principais Frameworks PHP
•Características
•Um mais sobre o CakePHP.
•Cookbookdo 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

Principais Frameworks PHP

Características comuns
•Fácil Instalação
•Agilizar o desenvolvimento
•Geradores de código
•Conceitos RubyonRails(CakePHPe Symfony)
•Componente de segurança: ACL, Authe etc
•Gerencimantode Cache
•Padrão de arquitetura MVC
•Padrão de projeto OHM (Dados->Classe->Objeto)
•Documentação e Comunidades ativas
Curva de aprendizagem
CakePHPe CodeIgnitersão mais focados na simplicidade e
oferecem menor curva de aprendizagem. Destes o CakePHP
é o mais “robusto”.

http://www.cakephp.com.br/pages/features
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.
Um pouco mais sobre o CakePHP

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 , viewse 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.

http://book.cakephp.org/pt/toc/3/Manual
Sumário completo do Cookbookdo CakePHP

CakePHP
CERTIFICAÇÃO

CakePHP
Possíveis desvantagens?
•Requer uma quantidade maior de tempo para
analisar e modelar o sistema;

CakePHP
Padrão de Arquitetura MVC

CakePHP
Estrutura funcional

CakePHP
Estrutura de arquivos

CakePHP
Convenções
MODEL
•Nome da tabela SEMPRE no plural (ex.: modelpost-> tabela posts)
•Toda ta
bela deve possuir a chave primária id (auto-numérica ou com 36
caracteres)
CONTROLLER
•Nome SEMPRE no plural (ex.: modelpost-> controllerposts)
•Nome do arquivo no padrão <model no plural>_controller .php

CakePHP
Exemplos –configurar batabase

CakePHP
Exemplos –Tabela no database

CakePHP
Exemplos –Criar o modelo

CakePHP
Exemplos –Criar a classe Controller

CakePHP
Exemplos –Criar o(s) view

CakePHP
Exemplos –Acesse a app

CakePHP
Exemplos –...

CakePHP
Exemplos –Adicionando ações

CakePHP
Exemplos –Adicionando viewà ação

CakePHP
Exemplos –Acessando a nova ação

CakePHP
Exemplos –Acessando a nova ação

CakePHP
Exemplos –Adicionando um post

CakePHP
Exemplos –Adicionando um post

CakePHP
Exemplos –Adicionando um post

CakePHP
Exemplos –Validação dos dados

CakePHP
Exemplos –Validação dos dados

CakePHP
SEGURANÇA –ACL
ACL –O ACL (Lista de Controle de Acesso) é um componente nativo que
fornece controle de acesso aos dados.

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.

CakePHP
SEGURANÇA –Componente Security
Security– Um componente que permite ajustar maior controle à autenticação de
HTTP.

CakePHP
CRUD via Scaffolding
Vantagens
•Ótimo pra prototiparaplicaçõ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)

CakePHP
CRUD via BAKE

CakePHP
CRUD via BAKE
Vantagens
•Cria “esqueletos” de models, viewse 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 CodeStandardda
equipe.

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;
•FirebirdDB2;
•Microsoft SQL Server;
•Oracle;
•SQLife;
•ODBC; e

ADOdb.

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çãopoderosas
(bake/scaffold)
•Arquitetura consistente e flexível
•Helpersajudam “um bocado”
•Codificação limpa, correta e sustentável

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. CakePHPTutorial. 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
FrameWARksPHP. http://vimeo.com/8859258