SlideShare une entreprise Scribd logo
1  sur  18
Workshop 
Mão na massa! 
Waldemar Neto
O Que é CAKEPHP
Estrutura
Diretórios 
● Config 
● Console 
○ Command 
● Controller 
○ Component 
● Lib 
● Locale 
● Model 
○ Behavior 
● Plugin 
● Test 
● tmp 
● Vendor 
● View 
● webroot
Cake Shell Console 
Bake: Geração de estrutura
MVC e seus componentes
Controller 
● Responsável pelo intermédio entre view e model 
● Chama e recebe respostas do Model 
● Envia resposta para a view 
● Interação com os componentes
Estrutura do controller no CakePHP 
● Extend AppController 
● AppController Extend Controller 
● AppController para um plugin 
● Before Render 
● Before Filter 
● admin_ prefix
Model 
● Informações de banco 
● Relacionamentos 
● Validação de dados 
● Lógicas
Estrutura do Model no CakePHP 
● ActsAs 
● Recursive 
● Containable 
● Callback: BeforeSave 
● Callback: AfterSave 
● Callback: BeforeFind 
● Callback: AfterFind 
● Callback: beforeDelete 
● Callback: afterDelete 
● Model em plugin
View 
● Comportamento visual 
● Telas 
● Forms 
● Arquivos estáticos
Views no CakePHP 
● Layouts 
○ Pages 
○ Email 
● Elements 
● Helpers 
● interação com webroot 
○ img 
○ js 
○ css
Components 
● Reaproveitamento de código 
● Divisão de lógica entre os controllers 
● Responsabilidade única
AuthComponent
AuthComponent na prática 
● Bloqueio total 
● Controle de Roles 
● ACL 
● Validações e rotas 
● Hash variados para password 
● Mensagem própria
Plugins 
● Código independente 
● Fácil integração 
● Rotas e bootstrap 
● Super Classes
Behaviors 
● Estendendo models 
● Interferindo nos comportamentos 
● Acompanhando callbacks 
● Criando settings
Fim do bolo! Obrigado a todos

Contenu connexe

Tendances

Tendances (18)

Framework web 02 - 2016
Framework web 02 - 2016Framework web 02 - 2016
Framework web 02 - 2016
 
Minicurso Java Server Faces
Minicurso Java Server FacesMinicurso Java Server Faces
Minicurso Java Server Faces
 
Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018
 
Apresentação jsf 1_2
Apresentação jsf 1_2Apresentação jsf 1_2
Apresentação jsf 1_2
 
Avaliacao jsf utfpr
Avaliacao jsf utfprAvaliacao jsf utfpr
Avaliacao jsf utfpr
 
Apache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFApache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSF
 
Dojo iOS Básico - Aula 2
Dojo iOS Básico - Aula 2Dojo iOS Básico - Aula 2
Dojo iOS Básico - Aula 2
 
APIs Rest(Ful): como fazer, por Alex Piaz
APIs Rest(Ful): como fazer, por Alex PiazAPIs Rest(Ful): como fazer, por Alex Piaz
APIs Rest(Ful): como fazer, por Alex Piaz
 
Desenvolvimento web com VRaptor
Desenvolvimento web com VRaptorDesenvolvimento web com VRaptor
Desenvolvimento web com VRaptor
 
Apres s3
Apres s3 Apres s3
Apres s3
 
Introdução ao vraptor
Introdução ao vraptorIntrodução ao vraptor
Introdução ao vraptor
 
Quick Form DataBase (QFDB)
Quick Form DataBase (QFDB)Quick Form DataBase (QFDB)
Quick Form DataBase (QFDB)
 
Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE
 
Vue.js - Framwork Progressivo
Vue.js - Framwork ProgressivoVue.js - Framwork Progressivo
Vue.js - Framwork Progressivo
 
Testes automatizados (2)
Testes automatizados (2)Testes automatizados (2)
Testes automatizados (2)
 
Boas práticas Magento 2
Boas práticas Magento 2Boas práticas Magento 2
Boas práticas Magento 2
 
Mvbo script framwork
Mvbo script framworkMvbo script framwork
Mvbo script framwork
 
Magento: Mitos vs Vantagens
Magento: Mitos vs VantagensMagento: Mitos vs Vantagens
Magento: Mitos vs Vantagens
 

En vedette

Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 
CakePHP com sotaque brasileiro
CakePHP com sotaque brasileiroCakePHP com sotaque brasileiro
CakePHP com sotaque brasileiroJuan Basso
 
CakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloCakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloelliando dias
 
CakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápidoCakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápidoIvan Rosolen
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de CakephpCauan Cabral
 

En vedette (6)

CakePHP
CakePHPCakePHP
CakePHP
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
CakePHP com sotaque brasileiro
CakePHP com sotaque brasileiroCakePHP com sotaque brasileiro
CakePHP com sotaque brasileiro
 
CakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloCakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro bolo
 
CakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápidoCakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápido
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de Cakephp
 

Similaire à Workshop CakePHP estrutura MVC

Desenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFDesenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFEmmanuel Neri
 
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...tdc-globalcode
 
TDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWTTDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWTLoiane Groner
 
Trabalhando com eventos e serviços no Zend Framework 2
Trabalhando com eventos e serviços no Zend Framework 2Trabalhando com eventos e serviços no Zend Framework 2
Trabalhando com eventos e serviços no Zend Framework 2William Felipe
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3André Luiz Forchesatto
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Flávio Lisboa
 
Liferay com React - Boas práticas
Liferay com React - Boas práticasLiferay com React - Boas práticas
Liferay com React - Boas práticasRicardo Monteiro
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOLeonardo Sousa
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
Google App Engine e Python
Google App Engine e PythonGoogle App Engine e Python
Google App Engine e PythonPeslPinguim
 
TDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScriptTDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScripttdc-globalcode
 
Aplicações Web com Python e Google App Engine
Aplicações Web com Python e Google App EngineAplicações Web com Python e Google App Engine
Aplicações Web com Python e Google App EngineRodrigo Amaral
 

Similaire à Workshop CakePHP estrutura MVC (20)

Desenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFDesenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSF
 
Java web
Java webJava web
Java web
 
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
 
TDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWTTDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWT
 
Vraptor 3
Vraptor 3Vraptor 3
Vraptor 3
 
Django
DjangoDjango
Django
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Palestra ASP.NET MVC
Palestra ASP.NET MVCPalestra ASP.NET MVC
Palestra ASP.NET MVC
 
Trabalhando com eventos e serviços no Zend Framework 2
Trabalhando com eventos e serviços no Zend Framework 2Trabalhando com eventos e serviços no Zend Framework 2
Trabalhando com eventos e serviços no Zend Framework 2
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
 
Liferay com React - Boas práticas
Liferay com React - Boas práticasLiferay com React - Boas práticas
Liferay com React - Boas práticas
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAO
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Google App Engine e Python
Google App Engine e PythonGoogle App Engine e Python
Google App Engine e Python
 
TDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScriptTDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScript
 
Curso AngularJS - Parte 1
Curso AngularJS - Parte 1Curso AngularJS - Parte 1
Curso AngularJS - Parte 1
 
PHP: Como não programar em POG
PHP: Como não programar em POGPHP: Como não programar em POG
PHP: Como não programar em POG
 
Gradle spring-hateoas-Lombok
Gradle spring-hateoas-LombokGradle spring-hateoas-Lombok
Gradle spring-hateoas-Lombok
 
Aplicações Web com Python e Google App Engine
Aplicações Web com Python e Google App EngineAplicações Web com Python e Google App Engine
Aplicações Web com Python e Google App Engine
 

Plus de Waldemar Neto

12 Factor App Docker na Cloud e outras buzzwords
12 Factor App Docker na Cloud e outras buzzwords12 Factor App Docker na Cloud e outras buzzwords
12 Factor App Docker na Cloud e outras buzzwordsWaldemar Neto
 
12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwords12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwordsWaldemar Neto
 
Construindo APIs testáveis com Node.js - RSJS
Construindo APIs testáveis com Node.js - RSJSConstruindo APIs testáveis com Node.js - RSJS
Construindo APIs testáveis com Node.js - RSJSWaldemar Neto
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerWaldemar Neto
 
Elasticsearch Aggregations
Elasticsearch AggregationsElasticsearch Aggregations
Elasticsearch AggregationsWaldemar Neto
 
Symfony2 e Elasticsearch com FosElasticaBundle
Symfony2 e Elasticsearch com FosElasticaBundleSymfony2 e Elasticsearch com FosElasticaBundle
Symfony2 e Elasticsearch com FosElasticaBundleWaldemar Neto
 
Monitoramento com ELK - Elasticsearch - Logstash - Kibana
Monitoramento com ELK - Elasticsearch - Logstash - KibanaMonitoramento com ELK - Elasticsearch - Logstash - Kibana
Monitoramento com ELK - Elasticsearch - Logstash - KibanaWaldemar Neto
 
Elasticsearch de dentro para fora
Elasticsearch de dentro para foraElasticsearch de dentro para fora
Elasticsearch de dentro para foraWaldemar Neto
 
Elasticsearch shards, index, filters and queries
Elasticsearch shards, index, filters and queriesElasticsearch shards, index, filters and queries
Elasticsearch shards, index, filters and queriesWaldemar Neto
 
No mundo das ap is com Restful webservices
No mundo das ap is com Restful webservicesNo mundo das ap is com Restful webservices
No mundo das ap is com Restful webservicesWaldemar Neto
 
Cakephp 3.0 o bolo ainda serve muita gente
Cakephp 3.0 o bolo ainda serve muita genteCakephp 3.0 o bolo ainda serve muita gente
Cakephp 3.0 o bolo ainda serve muita genteWaldemar Neto
 
No sql no mundo da persistencia poliglota
No sql no mundo da persistencia poliglotaNo sql no mundo da persistencia poliglota
No sql no mundo da persistencia poliglotaWaldemar Neto
 
Android para padawns
Android para padawnsAndroid para padawns
Android para padawnsWaldemar Neto
 
Como o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasComo o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasWaldemar Neto
 
O que é esteganografia
O que é esteganografiaO que é esteganografia
O que é esteganografiaWaldemar Neto
 
Divisão de conhecimento e open source
Divisão de conhecimento e open sourceDivisão de conhecimento e open source
Divisão de conhecimento e open sourceWaldemar Neto
 

Plus de Waldemar Neto (18)

12 Factor App Docker na Cloud e outras buzzwords
12 Factor App Docker na Cloud e outras buzzwords12 Factor App Docker na Cloud e outras buzzwords
12 Factor App Docker na Cloud e outras buzzwords
 
12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwords12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwords
 
Construindo APIs testáveis com Node.js - RSJS
Construindo APIs testáveis com Node.js - RSJSConstruindo APIs testáveis com Node.js - RSJS
Construindo APIs testáveis com Node.js - RSJS
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e Docker
 
Elasticsearch Aggregations
Elasticsearch AggregationsElasticsearch Aggregations
Elasticsearch Aggregations
 
Symfony2 e Elasticsearch com FosElasticaBundle
Symfony2 e Elasticsearch com FosElasticaBundleSymfony2 e Elasticsearch com FosElasticaBundle
Symfony2 e Elasticsearch com FosElasticaBundle
 
ELK introduction
ELK introductionELK introduction
ELK introduction
 
Monitoramento com ELK - Elasticsearch - Logstash - Kibana
Monitoramento com ELK - Elasticsearch - Logstash - KibanaMonitoramento com ELK - Elasticsearch - Logstash - Kibana
Monitoramento com ELK - Elasticsearch - Logstash - Kibana
 
Elasticsearch de dentro para fora
Elasticsearch de dentro para foraElasticsearch de dentro para fora
Elasticsearch de dentro para fora
 
Elasticsearch shards, index, filters and queries
Elasticsearch shards, index, filters and queriesElasticsearch shards, index, filters and queries
Elasticsearch shards, index, filters and queries
 
O que é docker?
O que é docker?O que é docker?
O que é docker?
 
No mundo das ap is com Restful webservices
No mundo das ap is com Restful webservicesNo mundo das ap is com Restful webservices
No mundo das ap is com Restful webservices
 
Cakephp 3.0 o bolo ainda serve muita gente
Cakephp 3.0 o bolo ainda serve muita genteCakephp 3.0 o bolo ainda serve muita gente
Cakephp 3.0 o bolo ainda serve muita gente
 
No sql no mundo da persistencia poliglota
No sql no mundo da persistencia poliglotaNo sql no mundo da persistencia poliglota
No sql no mundo da persistencia poliglota
 
Android para padawns
Android para padawnsAndroid para padawns
Android para padawns
 
Como o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasComo o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscas
 
O que é esteganografia
O que é esteganografiaO que é esteganografia
O que é esteganografia
 
Divisão de conhecimento e open source
Divisão de conhecimento e open sourceDivisão de conhecimento e open source
Divisão de conhecimento e open source
 

Workshop CakePHP estrutura MVC

  • 1. Workshop Mão na massa! Waldemar Neto
  • 2. O Que é CAKEPHP
  • 4. Diretórios ● Config ● Console ○ Command ● Controller ○ Component ● Lib ● Locale ● Model ○ Behavior ● Plugin ● Test ● tmp ● Vendor ● View ● webroot
  • 5. Cake Shell Console Bake: Geração de estrutura
  • 6. MVC e seus componentes
  • 7. Controller ● Responsável pelo intermédio entre view e model ● Chama e recebe respostas do Model ● Envia resposta para a view ● Interação com os componentes
  • 8. Estrutura do controller no CakePHP ● Extend AppController ● AppController Extend Controller ● AppController para um plugin ● Before Render ● Before Filter ● admin_ prefix
  • 9. Model ● Informações de banco ● Relacionamentos ● Validação de dados ● Lógicas
  • 10. Estrutura do Model no CakePHP ● ActsAs ● Recursive ● Containable ● Callback: BeforeSave ● Callback: AfterSave ● Callback: BeforeFind ● Callback: AfterFind ● Callback: beforeDelete ● Callback: afterDelete ● Model em plugin
  • 11. View ● Comportamento visual ● Telas ● Forms ● Arquivos estáticos
  • 12. Views no CakePHP ● Layouts ○ Pages ○ Email ● Elements ● Helpers ● interação com webroot ○ img ○ js ○ css
  • 13. Components ● Reaproveitamento de código ● Divisão de lógica entre os controllers ● Responsabilidade única
  • 15. AuthComponent na prática ● Bloqueio total ● Controle de Roles ● ACL ● Validações e rotas ● Hash variados para password ● Mensagem própria
  • 16. Plugins ● Código independente ● Fácil integração ● Rotas e bootstrap ● Super Classes
  • 17. Behaviors ● Estendendo models ● Interferindo nos comportamentos ● Acompanhando callbacks ● Criando settings
  • 18. Fim do bolo! Obrigado a todos