Successfully reported this slideshow.

Minicurso de Cakephp

6 569 vues

Publié le

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 );

Publié dans : Technologie
  • Soyez le premier à commenter

Minicurso de Cakephp

  1. 1. Conhecendo o CakePHP Introdução ao Framework CakePHP Cauan Cabral
  2. 2. O que é CakePHP? <ul><li>Framework PHP gratuito e opensource;
  3. 3. Projeto com mais de 4 anos de desenvolvimento;
  4. 4. Tem como uma de suas principais características o uso de convenções no lugar de configurações; </li></ul>
  5. 5. Algumas características <ul><li>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);
  6. 6. Framework Orientado a Objetos;
  7. 7. Divisão em camadas: MVC;
  8. 8. Abstração da camada de persistência: DBO;
  9. 9. Mapeamento Objeto Relacional: ORM; </li></ul>
  10. 10. Facilidades Oferecidas <ul><li>Implementação de vários recursos utilizados com frequência no desenvolvimento de uma aplicação, alguns deles: </li><ul><li>Componente para controle de acessos (Auth) e gestão de permissões (Acl);
  11. 11. Geração de formulários (FormHelper), código javascript (JavascriptHelper) e ajax (AjaxHelper);
  12. 12. Validação de dados embutida; </li></ul></ul>
  13. 13. Mais facilidades <ul><li>Geração de código para CRUD (Create, Read, Update, Delete);
  14. 14. Internacionalização (i18n) e Localização (l10n) nativamente;
  15. 15. Suporte a uma grande variedade de bancos de dados nativamente;
  16. 16. Suporte a Cache;
  17. 17. Componentes para envio de Email, tratamento de requisições e vários outros; </li></ul>
  18. 18. Estrutura <ul><li>Models – Representam as “coisas” de sua aplicação; </li><ul><li>Behaviors – Adicionam comportamentos aos models;
  19. 19. DataSource – Adicionam suporte há uma nova fonte de dados para seus models (ex.: Twitter e Facebook); </li></ul></ul>
  20. 20. Estrutura <ul><li>Controllers – Fazem o “meio-de-campo” entre a apresentação (View) e os dados (Model); </li><ul><li>Components – Adicionam funcionalidades ao controller; </li></ul><li>Views – É a apresentação dos dados de seu sistema. Pode gerar uma saída em PDF, HTML, JSON... </li><ul><li>Helpers – Adicionam funcionalidades a view, como para geração de formulários, tabelas...; </li></ul><li>Vendors – Bibliotecas externas ao framework que podem ser usadas em qualquer parte da aplicação. </li></ul>
  21. 21. Convenções <ul><li>Nome de classes: </li><ul><li>Controllers: MyUsersController;
  22. 22. Models: MyUser;
  23. 23. Views: MyUserView; </li></ul><li>Nomes de arquivos: </li><ul><li>Controllers: my_users_controller.php;
  24. 24. Models: my_user.php
  25. 25. Views: my_users/underscored_action.ctp </li></ul></ul>
  26. 26. Camadas do CakePHP
  27. 27. Mã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.
  28. 28. Começando <ul><li>Precisamos fazer o download do CakePHP: http://cakephp.org (baixe a última versão estável);
  29. 29. Descompactar o framework dentro da raiz do servidor web;
  30. 30. Testar o acesso ao servidor: http://localhost
  31. 31. Resolver as pendências citadas pelo framework: </li><ul><li>Permissão de escrita em /app/tmp;
  32. 32. Alterar hash de segurança Security.salt;
  33. 33. Configurar banco de dados; </li></ul></ul>
  34. 34. Banco de Dados O SQL para nosso banco é: CREATE DATABASE `pagode` ; CREATE TABLE IF NOT EXISTS `pagode`.`bills` ( `id` int(11) NOT NULL auto_increment, `amount` float NOT NULL, `description` varchar(64) collate utf8_unicode_ci NOT NULL, `compensate_at` date NOT NULL, `created` datetime default NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
  35. 35. Bake – Gerando Código <ul><li>Utilizaremos o Bake para gerar a base de todos os nossos códigos: model, controller e a view;
  36. 36. Vamos adicionar o PHP ao PATH do sistema;
  37. 37. Para acessar o Bake, abra o terminal (prompt de comando no Windows), navegue até a pasta cakecoreconsole
  38. 38. Execute o comando “cake” </li></ul>
  39. 39. Bake – Poupando tempo <ul><li>O Bake é capaz de gerar: </li><ul><li>Models com validação e associações;
  40. 40. Controllers que utilizam Components e Helpers, e que implementam as ações “CRUD”;
  41. 41. Views para as ações geradas para o item anterior; </li></ul><li>Ele também nos ajuda: </li><ul><li>A criar um novo projeto com, replicando a árvore de diretórios necessária;
  42. 42. Efetuar as configurações de banco de dados. </li></ul></ul>
  43. 43. Tela do Bake no Linux
  44. 44. O que acontece ao acessar um endereço?
  45. 45. Conclusão <ul><li>O CakePHP nos permite dedicar tempo ao que realmente importa: a lógica de nosso sistema;
  46. 46. Ele é compatível com um grande número de servidores (incluindo diferentes versões do PHP e Apache)
  47. 47. Desenvolver com CakePHP é fácil e rápido. </li></ul>
  48. 48. Contato... <ul><li>Email: [email_address]
  49. 49. Blog: http://geek.cauancabral.net
  50. 50. MSN: [email_address]
  51. 51. Gtalk: [email_address]
  52. 52. Twitter: cauancabral
  53. 53. IRC @ Freenode: CauanCabral
  54. 54. http://linkedin.com/in/cauancabral </li></ul>

×