Introdução ao CakePHP
Agenda

     Apresentação
 


     Motivação
 


     O que é um framework?
 


     O que o CakePHP oferece?
 


    ...
Agenda

     Apresentação
 


     Motivação
 


     O que é um framework?
 


     O que o CakePHP oferece?
 


    ...
Apresentação


     Daniel Golgher é tecnólogo em Processamento de Dados, Bacharel em
 

     Sistema de Informação e Esp...
Agenda

     Apresentação
 


     Motivação
 


     O que é um framework?
 


     O que o CakePHP oferece?
 


    ...
Motivação



     Divulgar o framework CakePHP
 


     Retribuir à comunidade de software livre
 


     Combater o cód...
Agenda

     Apresentação
 


     Motivação
 


     O que é um framework?
 


     O que o CakePHP oferece?
 


    ...
O que é um framework?


Um framework é uma infra-estrutura ou esqueleto
de uma família de aplicações projetado para ser
re...
Agenda

     Apresentação
 


     Motivação
 


     O que é um framework?
 


     O que o CakePHP oferece?
 


    ...
O que o CakePHP oferece?

     Suporte ao MVC
 


     ORM – Mapeamento objeto-relacional
 


     Helpers (Visão), Comp...
Agenda

     Apresentação
 


     Motivação
 


     O que é um framework?
 


     O que o CakePHP oferece?
 


    ...
Estrutura de diretórios


/projetos
  /app → Diretório da aplicação
     /con g → Diretório dos arquivos de con guração
  ...
Agenda

     Apresentação
 


     Motivação
 


     O que é um framework?
 


     O que o CakePHP oferece?
 


    ...
Fluxo de uma requisição




http://www.exemplo.com/usuarios/login
Agenda

     Apresentação
 


     Motivação
 


     O que é um framework?
 


     O que o CakePHP oferece?
 


    ...
Con gurando a conexão com o banco de dados

<?php	
class DATABASE_CONFIG {	

       	var $default = array(	
       	      ...
Agenda

     Apresentação
 


     Motivação
 


     O que é um framework?
 


     O que o CakePHP oferece?
 


    ...
MVC
<?php	
//Arquivo da Classe de Modelo	
class Usuario extends AppModel {	
        	var $name = 'Usuario';	
        	var ...
MVC: Camada de modelo



     Mapeia a classe de modelo a uma tabela no banco
 

     de dados (ou a outras fontes de dad...
MVC: Camada de Controle



     Responsável pelas regras de negócio da aplicação
 


     As operações no banco de dados ...
MVC: Camada de Visão



     Interface com o usuário
 


     Possui mecanismos de reutilização de código
 

     (geral...
Agenda

     Apresentação
 


     Motivação
 


     O que é um framework?
 


     O que o CakePHP oferece?
 


    ...
Como acabar com o código espagueti?


Fazendo os cursos de desenvolvimento web que a
   2km interativa! está lançando:
  ...
Agenda

     Apresentação
 


     Motivação
 


     O que é um framework?
 


     O que o CakePHP oferece?
 


    ...
Referências


     Site o cial do CakePHP
 


         -  http://www.cakephp.org
     Manual do CakePHP em português
 

...
Agenda

     Apresentação
 


     Motivação
 


     O que é um framework?
 


     O que o CakePHP oferece?
 


    ...
Agradecimentos


     Aos organizadores do 1º Encontro do PHP MG
 


     À Criasol pela oportunidade da palestra
 


  ...
Agenda

     Apresentação
 


     Motivação
 


     O que é um framework?
 


     O que o CakePHP oferece?
 


    ...
Perguntas?


Daniel Golgher
      -  E-mail: daniel@2km.com.br
      -  Twitter: @golgher




            www.2km.com.br -...
Upcoming SlideShare
Loading in …5
×

Introdução ao CakePHP

2,775 views

Published on

Slides da palestra "Introdução ao CakePHP" ministrada por Daniel Golgher no 1 Encontro do PHP MG em Belo Horizonte/MG.

Published in: Technology
1 Comment
7 Likes
Statistics
Notes
No Downloads
Views
Total views
2,775
On SlideShare
0
From Embeds
0
Number of Embeds
25
Actions
Shares
0
Downloads
136
Comments
1
Likes
7
Embeds 0
No embeds

No notes for slide

Introdução ao CakePHP

  1. 1. Introdução ao CakePHP
  2. 2. Agenda Apresentação   Motivação   O que é um framework?   O que o CakePHP oferece?   Estrutura de diretórios   Fluxo de uma requisição   Con gurando a conexão com o banco de dados   MVC no CakePHP   Como acabar com o código espagueti?   Referências   Agradecimentos   Perguntas  
  3. 3. Agenda Apresentação   Motivação   O que é um framework?   O que o CakePHP oferece?   Estrutura de diretórios   Fluxo de uma requisição   Con gurando a conexão com o banco de dados   MVC no CakePHP   Como acabar com o código espagueti?   Referências   Agradecimentos   Perguntas  
  4. 4. Apresentação Daniel Golgher é tecnólogo em Processamento de Dados, Bacharel em   Sistema de Informação e Especialista em Engenharia de Software. Desenvolve em PHP desde 2001 e é sócio da 2km interativa!, empresa mineira que desenvolveu mais de 20 projetos utilizando o CakePHP nos últimos 12 meses. Gosta de software livre, especialmente dos projetos: CakePHP, FreeBSD, MySQL, Apache, PHP, Python dentre outros. Nas horas vagas vai ao cinema com a namorada e passeia com o Baco (São Bernardo).
  5. 5. Agenda Apresentação   Motivação   O que é um framework?   O que o CakePHP oferece?   Estrutura de diretórios   Fluxo de uma requisição   Con gurando a conexão com o banco de dados   MVC no CakePHP   Como acabar com o código espagueti?   Referências   Agradecimentos   Perguntas  
  6. 6. Motivação Divulgar o framework CakePHP   Retribuir à comunidade de software livre   Combater o código 'espaguete'   Mostrar que programar pode ser divertido!  
  7. 7. Agenda Apresentação   Motivação   O que é um framework?   O que o CakePHP oferece?   Estrutura de diretórios   Fluxo de uma requisição   Con gurando a conexão com o banco de dados   MVC no CakePHP   Como acabar com o código espagueti?   Referências   Agradecimentos   Perguntas  
  8. 8. O que é um framework? Um framework é uma infra-estrutura ou esqueleto de uma família de aplicações projetado para ser reutilizado. Vantagens:   Redução do tempo de codi cação;   Soluções bem testadas por outras pessoas;   Programadores implementam somente o que é necessário;   Redução de erros.
  9. 9. Agenda Apresentação   Motivação   O que é um framework?   O que o CakePHP oferece?   Estrutura de diretórios   Fluxo de uma requisição   Con gurando a conexão com o banco de dados   MVC no CakePHP   Como acabar com o código espagueti?   Referências   Agradecimentos   Perguntas  
  10. 10. O que o CakePHP oferece? Suporte ao MVC   ORM – Mapeamento objeto-relacional   Helpers (Visão), Components (Controle) e Behaviors   (Modelo) Internacionalização e Localização (i18n e l10n)   Testes integrados   Validações   ACL (Lista de controle de acesso) e Autenticação   Segurança   Geração de Código (Bake)   Convenção sobre con guração e muito mais...  
  11. 11. Agenda Apresentação   Motivação   O que é um framework?   O que o CakePHP oferece?   Estrutura de diretórios   Fluxo de uma requisição   Con gurando a conexão com o banco de dados   MVC no CakePHP   Como acabar com o código espagueti?   Referências   Agradecimentos   Perguntas  
  12. 12. Estrutura de diretórios /projetos /app → Diretório da aplicação /con g → Diretório dos arquivos de con guração /controllers → Diretório das classes de controle /models → Diretório das classes de modelo /views → Diretório das páginas/elementos da visão /webroot → www_root, img, js e css /cake → Diretório do framework
  13. 13. Agenda Apresentação   Motivação   O que é um framework?   O que o CakePHP oferece?   Estrutura de diretórios   Fluxo de uma requisição   Con gurando a conexão com o banco de dados   MVC no CakePHP   Como acabar com o código espagueti?   Referências   Agradecimentos   Perguntas  
  14. 14. Fluxo de uma requisição http://www.exemplo.com/usuarios/login
  15. 15. Agenda Apresentação   Motivação   O que é um framework?   O que o CakePHP oferece?   Estrutura de diretórios   Fluxo de uma requisição   Con gurando a conexão com o banco de dados   MVC no CakePHP   Como acabar com o código espagueti?   Referências   Agradecimentos   Perguntas  
  16. 16. Con gurando a conexão com o banco de dados <?php class DATABASE_CONFIG { var $default = array( 'driver' => 'mysql', 'persistent' => false, 'host' => 'localhost', 'login' => 'root', 'password' => 'senha', 'database' => 'curso_cake_2km', ); } ?> con g/database.php
  17. 17. Agenda Apresentação   Motivação   O que é um framework?   O que o CakePHP oferece?   Estrutura de diretórios   Fluxo de uma requisição   Con gurando a conexão com o banco de dados   MVC no CakePHP   Como acabar com o código espagueti?   Referências   Agradecimentos   Perguntas  
  18. 18. MVC <?php //Arquivo da Classe de Modelo class Usuario extends AppModel { var $name = 'Usuario'; var $displayField = 'nome'; } ?> models/usuario.php <?php //Arquivo da Classe de Controle class UsuariosController extends AppController { function teste($grupo_id=null){ $usuarios=$this->Usuario->find('list',array('conditions'=>array('grupo_id'=>$grupo_id))); $this->set(compact('usuarios')); } } ?> controllers/usuarios_controller.php <?php //Arquivo da Classe de Visão $form->create('Usuario',array('action'=>'teste')); $form->input('usuario'); $form->end('Enviar'); ?> views/usuarios/teste.ctp
  19. 19. MVC: Camada de modelo Mapeia a classe de modelo a uma tabela no banco   de dados (ou a outras fontes de dados como webservices, LDAP, etc) De ne os relacionamentos entre os modelos   Realiza as operações (Inserir, alterar, deletar,   buscas, etc) no banco de dados As validações são feitas na camada de modelo, ao   invés de ser feito na camada de controle
  20. 20. MVC: Camada de Controle Responsável pelas regras de negócio da aplicação   As operações no banco de dados são feitas através   de uma instância do modelo na camada de controle ($this->Usuario->save()) De ne qual visão será exibida  
  21. 21. MVC: Camada de Visão Interface com o usuário   Possui mecanismos de reutilização de código   (geralmente HTML) através de elements Uso de helpers para simpli car a construção de   interfaces mais complexas
  22. 22. Agenda Apresentação   Motivação   O que é um framework?   O que o CakePHP oferece?   Estrutura de diretórios   Fluxo de uma requisição   Con gurando a conexão com o banco de dados   MVC no CakePHP   Como acabar com o código espagueti?   Referências   Agradecimentos   Perguntas  
  23. 23. Como acabar com o código espagueti? Fazendo os cursos de desenvolvimento web que a 2km interativa! está lançando:   Curso do CakePHP (Arma contra o PHP à bolonhesa)   Curso do jQuery (Arma conta o JavaScript ao sugo)   Curso de Padrões Web (Arma contra o HTML e CSS ao molho 4 queijos)
  24. 24. Agenda Apresentação   Motivação   O que é um framework?   O que o CakePHP oferece?   Estrutura de diretórios   Fluxo de uma requisição   Con gurando a conexão com o banco de dados   MVC no CakePHP   Como acabar com o código espagueti?   Referências   Agradecimentos   Perguntas  
  25. 25. Referências Site o cial do CakePHP   -  http://www.cakephp.org Manual do CakePHP em português   -  http://book.cakephp.org/pt Artigos e tutoriais   -  http://bakery.cakephp.org/ Grupo do CakePHP em português   -  http://groups.google.com/group/cake-php-pt/
  26. 26. Agenda Apresentação   Motivação   O que é um framework?   O que o CakePHP oferece?   Estrutura de diretórios   Fluxo de uma requisição   Con gurando a conexão com o banco de dados   MVC no CakePHP   Como acabar com o código espagueti?   Referências   Agradecimentos   Perguntas  
  27. 27. Agradecimentos Aos organizadores do 1º Encontro do PHP MG   À Criasol pela oportunidade da palestra   Ao CakePHP por facilitar a minha vida ;)   À comunidade pela presença  
  28. 28. Agenda Apresentação   Motivação   O que é um framework?   O que o CakePHP oferece?   Estrutura de diretórios   Fluxo de uma requisição   Con gurando a conexão com o banco de dados   MVC no CakePHP   Como acabar com o código espagueti?   Referências   Agradecimentos   Perguntas  
  29. 29. Perguntas? Daniel Golgher -  E-mail: daniel@2km.com.br -  Twitter: @golgher www.2km.com.br - Twitter: @2km

×