• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
CakePHP - Aprendendo a fazer o primeiro bolo
 

CakePHP - Aprendendo a fazer o primeiro bolo

on

  • 28,580 views

 

Statistics

Views

Total Views
28,580
Views on SlideShare
21,503
Embed Views
7,077

Actions

Likes
18
Downloads
963
Comments
3

29 Embeds 7,077

http://videotutoriais.blogspot.com 3392
http://videotutoriais.blogspot.com.br 2333
http://www.videotutoriais.blogspot.com 936
http://www.videotutoriais.blogspot.com.br 169
http://www.slideshare.net 88
http://www.sonaweb.com.br 64
http://videotutoriais.blogspot.pt 57
http://www.videotutoriais.blogspot.pt 9
http://videotutoriais.blogspot.ro 3
https://twitter.com 3
http://videotutoriais.blogspot.com.ar 2
http://webcache.googleusercontent.com 2
http://videotutoriais.blogspot.fr 2
http://www.mashme.tv 2
http://web.archive.org 1
https://si0.twimg.com 1
http://www.techgig.com 1
http://www.google.com.br 1
http://www.videotutoriais.blogspot.co.il 1
http://videotutoriais.blogspot.ca 1
http://localhost 1
http://145.ig.gmodules.com 1
http://ig.gmodules.com 1
http://static.slideshare.net 1
http://64.233.163.132 1
http://sonaweb.com.br 1
http://www.videotutorials.blogspot.com.br 1
http://videotutoriais.blogspot.de 1
http://videotutoriais.blogspot.in 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

13 of 3 previous next Post a comment

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • 2-
    Venham conferir o AS NOVIDADES DO SERVIDOR de MU online JOGANDO.NET : www.jogando.net/mu
    NÃO PERCA O novo site de Animes Cloud : http://www.animescloud.com/ com mais de 20.000 videos online.
    Curta também a nossa pagina no facebook : http://www.facebook.com/pages/jogandonet/371027529618526
    1ª Mega Maratona Jogando.net eventos diarios e novidades em todos os servidores atualizados p/ o Ep 3 Season 6 com novos kits DEVASTATOR , e o SUPREMO DIAMOND v2.
    By: MissDeath
    Are you sure you want to
    Your message goes here
    Processing…
  • cara, na página 109 tem um erro:

    function add(){
    if(!empty($this->data)){ //não é $data e sim data, ok?
    if($this->Post->save($this->data)){
    $this->flash('O post foi salvo.','/posts');
    }
    }
    }

    Se puder corrigir...mas fora isso tá show de bola, to aprendendo muito com essa 'aula' ai!
    Are you sure you want to
    Your message goes here
    Processing…
  • perfeito!
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    CakePHP - Aprendendo a fazer o primeiro bolo CakePHP - Aprendendo a fazer o primeiro bolo Presentation Transcript

    • CakePHP Aprendendo a fazer o primeiro bolo por Léo Hackin
    • Cardápio Roteiro O PHP ontem e hoje Lógica x Apresentação MVC CakePHP Aplicação exemplo: Blog Conclusões
    • Mamma mia! Pratos do dia PHP à Carbonara Lógica misturada a apresentação
    • Eita nóis! Pratos do dia Sistema Ovo-Cozido Rápido, fácil mas sempre fede no fim
    • Oxente! Pratos do dia Arrumadinho MVC Modelo-Visão-Controlador
    • Agora sim... Pratos do dia E para sobremesa ... BOLO!
    • Sobre o cozinheiro Léo Hackin Léo Hackin é desenvolvedor desde 96 e já passou por algumas das principais empresas de internet capixabas, desenvolvendo soluções para internet, dispositivos móveis e desktop. Apaixonado por PHP a 7 anos, atualmente trabalha como analista de soluções JavaEE para attPS Tech (São Paulo) e como Consultor em soluções para internet em empresas privadas.
    • O PHP ontem e hoje O PHP ontem
    • O PHP ontem e hoje O PHP ontem Linguagem para apps simples
    • O PHP ontem e hoje O PHP ontem Linguagem para apps simples POGramadores doidões
    • O PHP ontem e hoje O PHP ontem Linguagem para apps simples POGramadores doidões Baixa remuneração
    • O PHP ontem e hoje O PHP ontem Linguagem para apps simples POGramadores doidões Baixa remuneração Consistência discutível
    • O PHP ontem e hoje O PHP ontem Linguagem para apps simples POGramadores doidões Baixa remuneração Consistência discutível Falta de padrões de design
    • O PHP ontem e hoje O PHP ontem Linguagem para apps simples POGramadores doidões Baixa remuneração Consistência discutível Falta de padrões de design
    • O PHP ontem e Hoje Agravantes
    • O PHP ontem e Hoje Agravantes Falta de conhecimento teórico de programação
    • O PHP ontem e Hoje Agravantes Falta de conhecimento teórico de programação Rápido == feito nas coxas
    • O PHP ontem e Hoje Agravantes Falta de conhecimento teórico de programação Rápido == feito nas coxas Paradigma mal resolvido (Estrutural x OO)
    • O PHP ontem e Hoje Agravantes Falta de conhecimento teórico de programação Rápido == feito nas coxas Paradigma mal resolvido (Estrutural x OO) Script Kiddies, sobrinhos e “amigos que mexem com informática”
    • O PHP ontem e Hoje Agravantes Falta de conhecimento teórico de programação Rápido == feito nas coxas Paradigma mal resolvido (Estrutural x OO) Script Kiddies, sobrinhos e “amigos que mexem com informática” Herança estrutural: funções redundantes, includes, etc ...
    • O PHP ontem e Hoje O PHP hoje
    • O PHP ontem e Hoje O PHP hoje Maturidade para soluções corporativas
    • O PHP ontem e Hoje O PHP hoje Maturidade para soluções corporativas OO verdadeiro
    • O PHP ontem e Hoje O PHP hoje Maturidade para soluções corporativas OO verdadeiro Remuneração “de gente”
    • O PHP ontem e Hoje O PHP hoje Maturidade para soluções corporativas OO verdadeiro Remuneração “de gente” Montes e montes de documentação
    • O PHP ontem e Hoje O PHP hoje Maturidade para soluções corporativas OO verdadeiro Remuneração “de gente” Montes e montes de documentação N projetos ... FRAMEWORKS!
    • O PHP ontem e Hoje O PHP hoje Maturidade para soluções corporativas OO verdadeiro Remuneração “de gente” Montes e montes de documentação O tempo passa! O tempo voa! N projetos ... FRAMEWORKS!
    • Lógica x Apresentação PHP gerando HTML
    • Lógica x Apresentação PHP espaguete
    • Lógica x Apresentação PHP espaguete
    • Lógica x Apresentação Ops... Problemas! Codificação e manutenção custosa Quebra pau com designers Redundância de métodos, funções, includes ... Despadronização é ruim!!! Segmentação da lógica
    • Lógica x Apresentação Ops... Problemas! PHP à Carbonara
    • Lógica x Apresentação Ops... Problemas! = PHP à Carbonara
    • MVC O que é MVC
    • MVC O que é MVC Padrão de arquitetura de software
    • MVC O que é MVC Padrão de arquitetura de software Separação da aplicação em três partes:
    • MVC O que é MVC Padrão de arquitetura de software Separação da aplicação em três partes: Os dados da aplicação
    • MVC O que é MVC Padrão de arquitetura de software Separação da aplicação em três partes: Os dados da aplicação A apresentação da informação
    • MVC O que é MVC Padrão de arquitetura de software Separação da aplicação em três partes: Processa os eventos da aplicação Os dados da aplicação A apresentação da informação
    • MVC Características
    • MVC Características Base funcional para toda a aplicação
    • MVC Características Base funcional para toda a aplicação Conjunto de ferramentas, classes ...
    • MVC Características Base funcional para toda a aplicação Conjunto de ferramentas, classes ... Consistência e produtividade
    • MVC Características Base funcional para toda a aplicação Conjunto de ferramentas, classes ... Consistência e produtividade Desenvolvimento em paralelo
    • MVC Características Base funcional para toda a aplicação Conjunto de ferramentas, classes ... Consistência e produtividade Desenvolvimento em paralelo Manutenção e escalabilidade menos custosa
    • MVC Como funciona, tio ?
    • MVC Como funciona, tio ? Browser envia requisição à aplicação
    • MVC Como funciona, tio ? Browser envia requisição à aplicação http://site/hello
    • MVC Como funciona, tio ? Browser envia requisição à aplicação O controller processa a ação http://site/hello
    • MVC Como funciona, tio ? Browser envia requisição à aplicação O controller processa a ação O controller processa a requisição e acessa a lógica de negócio (model) da aplicação http://site/hello
    • MVC Como funciona, tio ? Browser envia requisição à aplicação O controller processa a ação O controller processa a requisição e acessa a lógica de negócio (model) da aplicação O model acessa a base de dados da aplicação para executar a ação requisitada pelo controller Mysql, Postgres, Oracle e muitos outros http://site/hello
    • MVC Como funciona, tio ? Browser envia requisição à aplicação O controller processa a ação O controller processa a requisição e acessa a lógica de negócio (model) da aplicação O model acessa a base de dados da aplicação para executar a ação requisitada pelo controller O controller então seleciona a view correspondente a ação Mysql, Postgres, Oracle e muitos outros http://site/hello
    • MVC Como funciona, tio ? Browser envia requisição à aplicação O controller processa a ação O controller processa a requisição e acessa a lógica de negócio (model) da aplicação O model acessa a base de dados da aplicação para executar a ação requisitada pelo controller O controller então seleciona a view correspondente a ação O controller renderiza a view Mysql, Postgres, incluindo os dados de resposta Oracle e muitos da ação outros http://site/hello
    • MVC Como funciona, tio ? Browser envia requisição à aplicação O controller processa a ação O controller processa a requisição e acessa a lógica de negócio (model) da aplicação O model acessa a base de dados da aplicação para executar a ação requisitada pelo controller O controller então seleciona a view correspondente a ação O controller renderiza a view Mysql, Postgres, incluindo os dados de resposta Oracle e muitos da ação outros O controller devolve a resposta para o browser http://site/hello
    • MVC Frameworks PHP
    • CakePHP O que é CakePHP CakePHP é um framework de desenvolvimento rápido para PHP que provê uma arquitetura extensível para desenvolvimento, manutenção e implantação de aplicacões. Usando padrões de projeto como MVC e ORM com “convenção ao invés de configuração”, o CakePHP reduz custos de desenvolvimento e ajuda desenvolvedores a “escrever menos código”.
    • CakePHP O que é CakePHP
    • CakePHP O que é CakePHP Compatível com PHP 4 e 5
    • CakePHP O que é CakePHP Compatível com PHP 4 e 5 Arquitetura MVC
    • CakePHP O que é CakePHP Compatível com PHP 4 e 5 Arquitetura MVC Helpers Ajax, HTML, JS e outros
    • CakePHP O que é CakePHP Compatível com PHP 4 e 5 Arquitetura MVC Helpers Ajax, HTML, JS e outros Componentes nativos para Email, Sessões, Segurança ...
    • CakePHP O que é CakePHP Compatível com PHP 4 e 5 Arquitetura MVC Helpers Ajax, HTML, JS e outros Componentes nativos para Email, Sessões, Segurança ... CRUD (Create-Read-Update-Delete) integrado
    • CakePHP O que é CakePHP Compatível com PHP 4 e 5 Arquitetura MVC Helpers Ajax, HTML, JS e outros Componentes nativos para Email, Sessões, Segurança ... CRUD (Create-Read-Update-Delete) integrado ActiveRecord (ORM)
    • CakePHP O que é CakePHP Compatível com PHP 4 e 5 Arquitetura MVC Helpers Ajax, HTML, JS e outros Componentes nativos para Email, Sessões, Segurança ... CRUD (Create-Read-Update-Delete) integrado ActiveRecord (ORM) Internacionalização
    • CakePHP O que é CakePHP Compatível com PHP 4 e 5 Arquitetura MVC Helpers Ajax, HTML, JS e outros Componentes nativos para Email, Sessões, Segurança ... CRUD (Create-Read-Update-Delete) integrado ActiveRecord (ORM) Internacionalização Comunidade ativa e crescente
    • CakePHP O que é CakePHP Compatível com PHP 4 e 5 Arquitetura MVC Helpers Ajax, HTML, JS e outros Componentes nativos para Email, Sessões, Segurança ... CRUD (Create-Read-Update-Delete) integrado ActiveRecord (ORM) Ativa e crescente ? NOFA! Internacionalização Eu quero! Comunidade ativa e crescente
    • CakePHP Requisitos mínimos Um computador =) Servidor HTTP (Apache 2) PHP4 ou PHP5 Base de dados (opcional) MySQL, Postgres, SQL Server, Oracle, SQLite, ODBC, ADOdb, Firebird DB2 Café, chá ou suco (opcional)
    • CakePHP Instalando Baixar o CakePHP (http://cakephp.org) Descompactar o arquivo em seu servidor web
    • CakePHP Instalando Configurar o http.conf
    • CakePHP Instalando Configurar o http.conf
    • CakePHP Instalando Configurar o http.conf
    • CakePHP Instalando Configurar o http.conf
    • CakePHP Instalando Configurar o http.conf
    • CakePHP Instalando Execute e teste!
    • CakePHP Estrutura Funcional
    • CakePHP Estrutura Funcional
    • CakePHP Estrutura Funcional Model View Controller
    • CakePHP Estrutura Funcional Model Behaviors e Datasources View Helpers e Elements Controller Components
    • CakePHP Estrutura de Arquivos
    • CakePHP Estrutura de Arquivos config - configuração da app (banco, conf. núcleo, etc) controllers - controles da app locale - strings de internacionalização models - modelos da app plugins - pacotes de plugins tmp - local de arquivos temporários vendors - aplicativos de terceiros views - views do sistema webroot - raiz da aplicação
    • CakePHP Estrutura de Arquivos config - configuração da app (banco, conf. núcleo, etc) controllers - controles da app locale - strings de internacionalização models - modelos da app plugins - pacotes de plugins tmp - local de arquivos temporários vendors - aplicativos de terceiros views - views do sistema webroot - raiz da aplicação
    • Aplicação exemplo: Blog O primeiro bolo Aplicação de blog Listar Inserir Editar Deletar O primeiro a gente NUNCA esquece ...
    • Aplicação exemplo: Blog Conf. base no Cake app/config/database.php.default app/config/database.php
    • Aplicação exemplo: Blog Criando o model Criar tabela na database escolhida
    • Aplicação exemplo: Blog Criando o model app/models/post.php
    • Aplicação exemplo: Blog 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
    • Aplicação exemplo: Blog Criando o controller app/controllers/posts_controller.php
    • Aplicação exemplo: Blog Criando uma views app/views/posts/index.ctp - listagem dos posts
    • Aplicação exemplo: Blog Criando uma views app/views/posts/index.ctp - listagem dos posts helper $html->link
    • Aplicação exemplo: Blog Acessando a ação http://localhost/posts
    • Aplicação exemplo: Blog Acessando a ação http://localhost/posts host
    • Aplicação exemplo: Blog Acessando a ação controller http://localhost/posts host
    • Aplicação exemplo: Blog Executando a ação
    • Aplicação exemplo: Blog Adicionando ações app/controllers/posts_controller.php
    • Aplicação exemplo: Blog Adicionando ações app/views/posts/view.ctp
    • Aplicação exemplo: Blog Acessando a ação http://localhost/posts/view/2
    • Aplicação exemplo: Blog Acessando a ação http://localhost/posts/view/2 host
    • Aplicação exemplo: Blog Acessando a ação controller http://localhost/posts/view/2 host
    • Aplicação exemplo: Blog Acessando a ação controller ação http://localhost/posts/view/2 host
    • Aplicação exemplo: Blog Acessando a ação controller ação http://localhost/posts/view/2 host ID
    • Aplicação exemplo: Blog Adicionando ações
    • Aplicação exemplo: Blog Modificando o layout Layout View Elements
    • Aplicação exemplo: Blog Modificando o layout Layout View Elements
    • Aplicação exemplo: Blog Modificando o layout Layout View Elements
    • Aplicação exemplo: Blog Modificando o layout Layout View Elements
    • Aplicação exemplo: Blog Modificando o layout
    • Aplicação exemplo: Blog Modificando o layout conteúdo da view
    • Aplicação exemplo: Blog Modificando o layout Antes Depois
    • Aplicação exemplo: Blog Adicionando um post app/controllers/posts_controller.php
    • Aplicação exemplo: Blog Adicionando um post app/views/posts/add.ctp
    • Aplicação exemplo: Blog Adicionando um post app/views/posts/add.ctp FormHelper
    • Aplicação exemplo: Blog Adicionando um post app/views/posts/index.ctp
    • Aplicação exemplo: Blog Adicionando um post app/views/posts/index.ctp
    • Aplicação exemplo: Blog Adicionando um post
    • Aplicação exemplo: Blog Validação de campos app/models/post.php
    • Aplicação exemplo: Blog Validação de campos app/models/post.php validação
    • Aplicação exemplo: Blog Validação de campos
    • Aplicação exemplo: Blog Validação de campos
    • Aplicação exemplo: Blog Deletando um post app/controllers/posts_controller.php
    • Aplicação exemplo: Blog Deletando um post app/views/posts/index.ctp
    • Aplicação exemplo: Blog Deletando um post app/views/posts/index.ctp confirma a operação
    • Aplicação exemplo: Blog Deletando um post
    • Aplicação exemplo: Blog Editando um post app/controllers/posts_controller.php
    • Aplicação exemplo: Blog Editando um post app/views/posts/edit.ctp
    • Aplicação exemplo: Blog Editando um post app/views/posts/edit.ctp
    • Aplicação exemplo: Blog Editando um post app/views/posts/index.ctp
    • Aplicação exemplo: Blog Editando um post app/views/posts/index.ctp e tome helper
    • Aplicação exemplo: Blog Editando um post
    • Extras CRUD e Scaffolding app/model/comment.php app/model/comment.php
    • Extras CRUD via Scaffolding Vantagens Desvantagens
    • Extras CRUD via Scaffolding Vantagens Ótimo para prototipar aplicações Desvantagens
    • Extras CRUD via Scaffolding Vantagens Ótimo para prototipar aplicações Pode ser usado numa app em producão Desvantagens
    • Extras CRUD via Scaffolding Vantagens Ótimo para prototipar aplicações Pode ser usado numa app em producão Mamão com açucar!! Desvantagens
    • Extras CRUD via Scaffolding Vantagens Ótimo para prototipar aplicações Pode ser usado numa app em producão Mamão com açucar!! Desvantagens Não foi feito para ser flexível
    • Extras CRUD via Scaffolding Vantagens Ótimo para prototipar aplicações Pode ser usado numa app em producão Mamão com açucar!! Desvantagens Não foi feito para ser flexível Baixa segurança (em seu estado default)
    • Extras CRUD via Bake $ cd ./cake/console $ ./cake bake
    • Extras CRUD via Bake Vantagens Desvantagens
    • Extras CRUD via Bake Vantagens Cria “esqueletos” de models, views e controllers Desvantagens
    • Extras CRUD via Bake Vantagens Cria “esqueletos” de models, views e controllers Ao contrário do scaffold, cria arquivos reais na app Desvantagens
    • Extras CRUD via Bake Vantagens Cria “esqueletos” de models, views e controllers Ao contrário do scaffold, cria arquivos reais na app Extremamente poderoso e funcional Desvantagens
    • Extras CRUD via Bake Vantagens Cria “esqueletos” de models, views e controllers Ao contrário do scaffold, cria arquivos reais na app Extremamente poderoso e funcional Permite configurar os modelos Desvantagens
    • Extras CRUD via Bake Vantagens Cria “esqueletos” de models, views e controllers Ao contrário do scaffold, cria arquivos reais na app Extremamente poderoso e funcional Permite configurar os modelos Desvantagens Acostuma mal! :)
    • Fechando o buteco Conclusões
    • Fechando o buteco Conclusões Fácil de codificar
    • Fechando o buteco Conclusões Fácil de codificar ORM e MVC aumentam a produtividade
    • Fechando o buteco Conclusões Fácil de codificar ORM e MVC aumentam a produtividade Ferramentas de prototipação poderosas (bake/scaffold)
    • Fechando o buteco Conclusões Fácil de codificar ORM e MVC aumentam a produtividade Ferramentas de prototipação poderosas (bake/scaffold) Arquitetura consistente e flexível
    • Fechando o buteco Conclusões Fácil de codificar ORM e MVC aumentam a produtividade Ferramentas de prototipação poderosas (bake/scaffold) Arquitetura consistente e flexível Helpers ajudam um bocado
    • Fechando o buteco Conclusões Fácil de codificar ORM e MVC aumentam a produtividade Ferramentas de prototipação poderosas (bake/scaffold) Arquitetura consistente e flexível Helpers ajudam um bocado Codificação limpa, correta e sustentável
    • Fechando o buteco Conclusões Fácil de codificar ORM e MVC aumentam a produtividade Ferramentas de prototipação poderosas (bake/scaffold) Arquitetura consistente e flexível Helpers ajudam um bocado Codificação limpa, correta e sustentável Ei, isso não foi tão ruim afinal.
    • Fechando o buteco Asta La Vista Baby Léo Hackin e-mail e MSN leohackin@gmail.com Skype leohackin Blog www.leohackin.com.br/blog
    • F u i ...