Cakephp

Embed Size (px)

Citation preview

CakePHPAprendendo a fazer o primeiro bolo

por Lo Hackinsegunda-feira, 8 de junho de 2009

RoteiroO PHP ontem e hoje Lgica x Apresentao MVC CakePHP Aplicao exemplo: Blog Conclusessegunda-feira, 8 de junho de 2009

Cardpio

Pratos do dia

Mamma mia!

PHP CarbonaraLgica misturada a apresentao

segunda-feira, 8 de junho de 2009

Pratos do dia

Eita nis!

Sistema Ovo-CozidoRpido, fcil mas sempre fede no m

segunda-feira, 8 de junho de 2009

Pratos do dia

Oxente!

Arrumadinho MVCModelo-Viso-Controlador

segunda-feira, 8 de junho de 2009

Pratos do dia

Agora sim...

E para sobremesa ... BOLO!

segunda-feira, 8 de junho de 2009

Lo HackinLo Hackin desenvolvedor desde 96 e j passou por algumas das principais empresas de internet capixabas, desenvolvendo solues para internet, dispositivos mveis e desktop. Apaixonado por PHP a 7 anos, atualmente diretor executivo da Giran Solues e Ensino, onde trabalha como consultor e especialista em solues web.

Sobre o cozinheiro

segunda-feira, 8 de junho de 2009

Gerenciamento de projetos com SCRUM Prossionais altamente qualicados Informaes e reservas Participao ativa na comunidade [email protected] http://www.giran.com.brsegunda-feira, 8 de junho de 2009

CSM Consultoria e Treinamento especialidados Certied Java Scrum Master Ruby on Rails Curso e Certicao PHP Desenvolvimento gil ociaisem

br ev e

Giran Solues e Ensino

O PHP ontemLinguagem para apps simples POGramadores doides Baixa remunerao Consistncia discutvel Falta de padres de design

O PHP ontem e hoje

segunda-feira, 8 de junho de 2009

AgravantesFalta de conhecimento terico de programao Rpido == feito nas coxas Paradigma mal resolvido (Estrutural x OO) Script Kiddies, sobrinhos e amigos que mexem com informtica Herana estrutural: funes redundantes, includes, etc ...

O PHP ontem e Hoje

segunda-feira, 8 de junho de 2009

O PHP hojeMaturidade para solues corporativas OO verdadeiro Remunerao de gente Montes e montes de documentao N projetos ... FRAMEWORKS! Adoo por grandes empresas

O PHP ontem e Hoje

segunda-feira, 8 de junho de 2009

PHP gerando HTML

Lgica x Apresentao

segunda-feira, 8 de junho de 2009

PHP espaguete

Lgica x Apresentao

segunda-feira, 8 de junho de 2009

Ops... Problemas!

Lgica x Apresentao

X

Programadores

Designers

segunda-feira, 8 de junho de 2009

Ops... Problemas!Codicao e manuteno custosa Quebra pau com designers Redundncia de mtodos, funes, includes ... Despadronizao ruim!!! Segmentao da lgica

Lgica x Apresentao

segunda-feira, 8 de junho de 2009

Ops... Problemas!= PHP Carbonara

Lgica x Apresentao

segunda-feira, 8 de junho de 2009

Apimentando a vida

MVC

segunda-feira, 8 de junho de 2009

O que MVCPadro de arquitetura de software Separao da aplicao em trs partes:

MVC

Processa os eventos da aplicao

Os dados da aplicao

A apresentao da informao

segunda-feira, 8 de junho de 2009

CaractersticasBase funcional para toda a aplicao Conjunto de ferramentas, classes ... Consistncia e produtividade Desenvolvimento em paralelo Manuteno e escalabilidade menos custosa

MVC

segunda-feira, 8 de junho de 2009

Como funciona, tio ?Browser envia requisio aplicao O controller processa a ao O controller processa a requisio e acessa a lgica de negcio (model) da aplicao O model acessa a base de dados da aplicao para executar a ao requisitada pelo controller O controller ento seleciona a view correspondente a aoMysql, Postgres, Oracle e muitos outros

MVC

O controller renderiza a view incluindo os dados de resposta da ao O controller devolve a resposta para o browser

http://site/hello

segunda-feira, 8 de junho de 2009

Frameworks PHP

MVC

fonte: http://www.phpframeworks.com

segunda-feira, 8 de junho de 2009

O que CakePHPCakePHP um framework de desenvolvimento rpido para PHP que prov uma arquitetura extensvel para desenvolvimento, manuteno e implantao de aplicaces. Usando padres de projeto como MVC e ORM com conveno ao invs de congurao, o CakePHP reduz custos de desenvolvimento e ajuda desenvolvedores a escrever menos cdigo.

CakePHP

segunda-feira, 8 de junho de 2009

Lances ManeirosCompatvel com PHP 4 e 5 Arquitetura MVC Helpers Ajax, HTML, JS e outros Componentes nativos para Email, Sesses, Segurana ... CRUD (Create-Read-Update-Delete) integrado ActiveRecord (ORM) Internacionalizao Comunidade ativa e crescentesegunda-feira, 8 de junho de 2009

CakePHP

Momento Ui!

CakePHP

NOFA!Eu quero! :D

Ativa e crescente ?

segunda-feira, 8 de junho de 2009

Requisitos mnimosUm 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

Jura ???

Opcional uma ova!!!!

segunda-feira, 8 de junho de 2009

InstalandoBaixar o CakePHP (http://cakephp.org) Descompactar o arquivo em seu servidor web

CakePHP

segunda-feira, 8 de junho de 2009

InstalandoCongurar o http.conf

CakePHP

segunda-feira, 8 de junho de 2009

InstalandoCongurar o http.conf

CakePHP

segunda-feira, 8 de junho de 2009

InstalandoExecute e teste!

CakePHP

segunda-feira, 8 de junho de 2009

Estrutura FuncionalModelBehaviors e Datasources

CakePHP

ViewHelpers e Elements

ControllerComponents

segunda-feira, 8 de junho de 2009

Estrutura de Arquivoscong - congurao da app (banco, conf. ncleo, etc) controllers - controles da app locale - strings de internacionalizao models - modelos da app plugins - pacotes de plugins tmp - local de arquivos temporrios vendors - aplicativos de terceiros views - views do sistema webroot - raiz da aplicao

CakePHP

segunda-feira, 8 de junho de 2009

O primeiro boloAplicao de blogListar Inserir Editar DeletarO primeiro a gente

Aplicao exemplo: Blog

NUNCAesquece ...

segunda-feira, 8 de junho de 2009

Conf. base no Cakeapp/cong/database.php.default

Aplicao exemplo: Blog

app/cong/database.phpsegunda-feira, 8 de junho de 2009

Criando o modelCriar tabela na database escolhida

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

Criando o modelapp/models/post.php

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

ConvenesMODELNome da tabela SEMPRE no plural (ex.: model post -> tabela posts) Toda tabela deve possuir a chave primria id (auto-numrica ou com 36 caracteres)

Aplicao exemplo: Blog

CONTROLLERNome SEMPRE no plural (ex.: model post -> controller posts) Nome do arquivo no padro _controller.php

segunda-feira, 8 de junho de 2009

Criando o controllerapp/controllers/posts_controller.php

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

Criando uma viewsapp/views/posts/index.ctp - listagem dos posts

Aplicao exemplo: Blog

helper $html->linksegunda-feira, 8 de junho de 2009

Acessando a aocontroller

Aplicao exemplo: Blog

http://localhost/postshost

segunda-feira, 8 de junho de 2009

Executando a ao

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

Adicionando aesapp/controllers/posts_controller.php

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

Adicionando aesapp/views/posts/view.ctp

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

Acessando a aocontroller ao

Aplicao exemplo: Blog

http://localhost/posts/view/2host ID

segunda-feira, 8 de junho de 2009

Adicionando aes

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

Modicando o layoutLayout View

Aplicao exemplo: Blog

Elements

segunda-feira, 8 de junho de 2009

Modicando o layout

Aplicao exemplo: Blog

/app/views/layouts/default.ctp

contedo da view

segunda-feira, 8 de junho de 2009

Modicando o layoutAntes Depois

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

Adicionando um postapp/controllers/posts_controller.php

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

Adicionando um postapp/views/posts/add.ctp FormHelper

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

Adicionando um postapp/views/posts/index.ctp

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

Adicionando um post

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

Validao de camposapp/models/post.php validao

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

Validao de campos

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

Deletando um postapp/controllers/posts_controller.php

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

Deletando um postapp/views/posts/index.ctp

Aplicao exemplo: Blog

conrma a operao

segunda-feira, 8 de junho de 2009

Deletando um post

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

Editando um postapp/controllers/posts_controller.php

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

Editando um postapp/views/posts/edit.ctp

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

Editando um postapp/views/posts/index.ctp

Aplicao exemplo: Blog

e tome helper

segunda-feira, 8 de junho de 2009

Editando um post

Aplicao exemplo: Blog

segunda-feira, 8 de junho de 2009

CRUD e Scaffoldingapp/model/comment.php

Extras

app/model/comment.php

segunda-feira, 8 de junho de 2009

CRUD via ScaffoldingVantagenstimo para prototipar aplicaes Pode ser usado numa app em produco Mamo com aucar!!

Extras

DesvantagensNo foi feito para ser exvel Baixa segurana (em seu estado default)

segunda-feira, 8 de junho de 2009

CRUD via Bake$ cd ./cake/console $ ./cake bake

Extras

segunda-feira, 8 de junho de 2009

CRUD via BakeVantagensCria esqueletos de models, views e controllers Ao contrrio do scaffold, cria arquivos reais na app Extremamente poderoso e funcional Permite congurar os modelos

Extras

DesvantagensAcostuma mal! :)

segunda-feira, 8 de junho de 2009

O CakePHP lentoFatoEle mais lento que o CI, seu principal concorrente.

Plemicas

Porque escolhi ?O CakePHP apresenta uma suite de ferramentas mais robusta e completa que os outros, como ORM e suporte nativo a testes.

fonte: http://blog.cakephp-brasil.org

segunda-feira, 8 de junho de 2009

ConclusesFcil de codicar ORM e MVC aumentam a produtividade Ferramentas de prototipao poderosas (bake/scaffold) Arquitetura consistente e exvel Helpers ajudam um bocado Codicao limpa, correta e sustentvel Ei, isso no foi to ruim anal. :D

Fechando o buteco

segunda-feira, 8 de junho de 2009

Perguntas ???A resposta OBVIA!!!

Fechando o buteco

42

No suporto perguntas!

segunda-feira, 8 de junho de 2009

Asta La Vista BabyLo Hackine-mail e MSN

Fechando o buteco

[email protected]

leohackinBlog

www.leohackin.com.br/blog

segunda-feira, 8 de junho de 2009

F u i ...

segunda-feira, 8 de junho de 2009