O documento apresenta uma introdução ao framework CakePHP, com a agenda do curso incluindo tópicos como o que é um framework, a estrutura de diretórios do CakePHP, o fluxo de requisições, MVC e como evitar código espaguete usando o framework.
Teacher, I blew up the lab. I am glad it was only a game. [PDFRoger Tavares
My keynote for the Innochem Group in Bragança, Portugal. Oct, 13, 2016. Innochem is a group of 20 researchers from Portugal, France, Germany and Poland, in the field of Chemical Engineering.
O problema da utilização de CSS HACKS para garantia de resultados em diferent...Richard Duchatsch Johansen
Com surgimento de uma variedade de navegadores, surgiu o problema de como as CSS são interpretadas individualmente por estes navegadores. Com os padrões web, em que são propostas regras para a garantia da interoperabilidade das diferentes tecnologias de linguagem de marcação, não se permite uso de Hacks com características inválidas, pois não seguem o padrão normatizado pelo W3C. Como alternativa, propõe-se o estabelecimento de padrões de método e qualidade, soluções conciliadoras que abranjam variados tipos de navegadores com o uso de sintaxes amigáveis e códigos-fonte seguros que garantam resultados dentro dos padrões da web.
Aula 4 da matéria de Técnicas de Prototipação da pós-graduação em Design de Interação do Instituto Faber-Ludens.
- Oficina de Ideias
- Prototipação do Projeto Final
Para quem está começando, existem duas apostilas oficiais do W3C em português e gratuitas:
HTML5: http://www.w3c.br/pub/Cursos/CursoHTML5/html5-web.pdf
CSS3: http://www.w3c.br/pub/Cursos/CursoCSS3/css-web.pdf
O artigo fala sobre a Web Semântica e as melhorias que são possíveis serem feitas no HTML adicionando metadados, que são ocultos para o usuário mas altamente visíveis para os buscadores. Junto com o HTML5, aumenta o peso semântico no conteúdo, também propiciando um melhor resultado nas buscas e preparando o site para possíveis serviços da WEB no futuro
Teacher, I blew up the lab. I am glad it was only a game. [PDFRoger Tavares
My keynote for the Innochem Group in Bragança, Portugal. Oct, 13, 2016. Innochem is a group of 20 researchers from Portugal, France, Germany and Poland, in the field of Chemical Engineering.
O problema da utilização de CSS HACKS para garantia de resultados em diferent...Richard Duchatsch Johansen
Com surgimento de uma variedade de navegadores, surgiu o problema de como as CSS são interpretadas individualmente por estes navegadores. Com os padrões web, em que são propostas regras para a garantia da interoperabilidade das diferentes tecnologias de linguagem de marcação, não se permite uso de Hacks com características inválidas, pois não seguem o padrão normatizado pelo W3C. Como alternativa, propõe-se o estabelecimento de padrões de método e qualidade, soluções conciliadoras que abranjam variados tipos de navegadores com o uso de sintaxes amigáveis e códigos-fonte seguros que garantam resultados dentro dos padrões da web.
Aula 4 da matéria de Técnicas de Prototipação da pós-graduação em Design de Interação do Instituto Faber-Ludens.
- Oficina de Ideias
- Prototipação do Projeto Final
Para quem está começando, existem duas apostilas oficiais do W3C em português e gratuitas:
HTML5: http://www.w3c.br/pub/Cursos/CursoHTML5/html5-web.pdf
CSS3: http://www.w3c.br/pub/Cursos/CursoCSS3/css-web.pdf
O artigo fala sobre a Web Semântica e as melhorias que são possíveis serem feitas no HTML adicionando metadados, que são ocultos para o usuário mas altamente visíveis para os buscadores. Junto com o HTML5, aumenta o peso semântico no conteúdo, também propiciando um melhor resultado nas buscas e preparando o site para possíveis serviços da WEB no futuro
Esta apresentação foi em 11 de abril de 2011, na Código Digital para falar um pouco sobre o API do HTML5. Buscamos várias referências e artigos de especialistas para falar um pouco das mudanças do html.
Palestra ministrada no CONAPHP/CONISLI de 2008 explicando como funciona o padrão de arquitetura Model-View-Controller, em PHP, sem uso de frameworks. É tambem analisada a integração deste com AJAX, de forma simples.
Desenvolvimento em Três Camadas com PHP, MVC e AJAXManuel Lemos
Palestra dada por Almir Neto e Otávio Calaça no CONAPHP 2008 - Congresso Nacional de PHP que ocorreu em São Paulo nos dias 18 e 19 de Outubro dentro do CONISLI 2008
Slides do minicurso Introdução ao framework CakePHP realizado nos dias 10 e 11 de maio durante o WTISC 2012 na Universidade Federal do Ceará - UFC (Campus Quixadá) por Igor Pimentel
Desenvolvendo aplicativos web escaláveisManuel Lemos
Palestra dada por Elton Minetto no CONAPHP 2008 - Congresso Nacional de PHP que ocorreu em São Paulo nos dias 18 e 19 de Outubro dentro do CONISLI 2008
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. 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. 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. 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. Motivação
Divulgar o framework CakePHP
Retribuir à comunidade de software livre
Combater o código 'espaguete'
Mostrar que programar pode ser divertido!
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. 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. 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. 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. 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. 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. 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. Fluxo de uma requisição
http://www.exemplo.com/usuarios/login
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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