Mini-curso de CakePHP



Documentos relacionados
Desenvolva rapidamente utilizando o frame work CakePHP. Elton Luí s Minetto

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

PHP Conference Brasil

CakePhp. Desenvolvimento Web Rápido (e Indolor) Alisson S A Nascimento alisson.sa.nascimento@gmail.com

Módulo Básico. Assando Sites. Relacionamentos, Validação, Consultas e Páginas Dinâmicas. Assando Sites

Desenvolva rapidamente utilizando o framework CakePHP Elton Luís Minetto FISL 8.0

Pmail Project. The open sourse project. Felipe Theodoro Gonçalves / Pmail - GNU General Public License version 3 (GPLv3)

Curso de Iniciação ao Framework PHP Yii

Criando Aplicações PHP com. Zend e Dojo. Flávio Gomes da Silva Lisboa. Novatec

Sumario. Banco de Dados O que eh CakePHP Instalando o Cake Models, Controllers e Views Mais ferramentas do CakePHP Cake Bake a magica do CakePHP

Frameworks para Desenvolvimento em PHP Elton Luís Minetto

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

CakePHP. Tão fácil quanto fazer um bolo!

Ademir C. Gabardo. Novatec

Luiz Arão Araújo Carvalho Bacharel em Ciência da Computação Desenvolvedor RedeSat-TO

Criando, inserindo e exibindo PHP+MySql

Produto: Webscan Relatório II Programas desenvolvidos, testados e documentados

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

Manual de Instalação do OASIS

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Tutorial de Integração PHP

Investigando Sistemas de Informação. Crafty Syntax Live Help

Apiki WP Cursos para Gestores

FACULDADE DE TECNOLOGIA SENAC GESTÃO DA TECNOLOGIA DA INFORMAÇÃO LABORATORIO DE REDE

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

PHP AULA1. Prof. Msc. Hélio Esperidião

Zend Framework. Elton Luís Minetto

formação em WeB developer

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

Principais Comandos SQL Usados no MySql

FRWTC800 - Desenvolvimento Web com Ruby on Rails

Padrões de Projeto WEB e o MVC

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Nos Trilhos com RAILS. Sylvestre Mergulhão

Produtividade na web com Groovy e Grails

Tutorial de Integração PYTHON

INSTALAÇÃO OASIS + WAMP SERVER NO AMBIENTE WINDOWS

Sensor de temperatura Parte 5 Cleiton Bueno Preparando o ambiente do Banco de dados Mysql

Programando em PHP. Conceitos Básicos

PHP - Orientação a Objeto MVC. Éderson T. Szlachta {Tecnólogo em Análise e Desenv. de Sistemas} - edersonszlachta@gmail.com

Oficina Joomla. Prof. M.Sc. Marcos Roberto de Moraes

4 O Workflow e a Máquina de Regras

Formação em WEB DESIGN: Projeto 01 - layout (aula 01 & 02*) Em nosso primeiro projeto criaremos um layout para web utilizando um software gráfico.

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Modelo Cliente/Servidor Por HIARLY ALVES

Guia de instalação para ambiente de Desenvolvimento LINUX

TRADUÇÃO E ATUALIZAÇÃO DO MANUAL DE INSTALAÇÃO DO MÓDULO FACEBOOK STORE

Instalando servidor Apache

Sumário. Parte I Introdução Introdução O Rails é ágil Explorando o conteúdo Agradecimentos... 19

Programação WEB. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula III Introdução PHP

Programação WEB II. Sessions e Cookies. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Faculdade SENAC Pelotas Curso superior de tecnologia em redes de computadores Sistemas de Informação Aluno: Leandro Corrêa Brisolara

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Criando Frameworks Inteligentes com PHP. Uma abordagem prática: vantagens, aplicações e procedimentos.

OFICINA BLOG DAS ESCOLAS

Breve introdução. Uma breve introdução. Simplicidade e Poder. Rápido Dinâmico Robusto

Anexo I Formulário para Proposta

Zend. Framework. Componentes Poderosos para PHP. Flávio Gomes da Silva Lisboa. Novatec

PROGRAMAÇÃO MANUAL DE INSTRUÇÕES SEJA BEM VINDO VERSÃO /01/2013 UDS SOLUÇÕES DIGITAIS

Frameworks - Grails. Aécio Costa

ZendWi Presentation 19/10/2012

Tutorial de Integração.NET

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Escrito por Sáb, 15 de Outubro de :19 - Última atualização Seg, 26 de Março de :32

Desenvolvimento de Aplicações para Internet Aula 8

PROJETO PEDAGÓGICO DE CURSOS

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Design 3D. Formação em Web WEB DESIGN 3D 1

PHP Conference Brasil

Tutorial de Integração JAVA

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Manual de Instalação e Utilização - Bug Wisard Report

Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico

Material de apoio a aulas de Desenvolvimento Web. Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS. AAS -

Persistência de dados com JPA. Hélder Antero Amaral Nunes

CONSTRUÇÃO DE UM FRAMEWORK PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB

Tecnologias Web. Padrões de Projeto - Camada de Apresentação

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Para a utilização do WordPress são recomendadas as seguintes configurações:

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc.

MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO PORTAL DE LICITAÇÕES

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Questionários OnLine com LimeSurvey. Palestrante: Rafaela Raganham

Desenvolvendo Websites com Joomla. Breno Leonardo G. de M. Araújo

Integração com Joomla

Conceitos de extensões Joomla!

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres

Capítulo 04: Persistência com SQLite

Instalação do Wordpress. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Instalação e configuração de Sistema de Informação. Sobre o Help Center Live

Transcrição:

Mini-curso de CakePHP

Apresentação Daniel Golgher - formado em Tecnologia em Processamento de Dados e bacharel em Sistema de Informação pela UNA. Pós graduado em Engenharia de Software pela UFMG. Desenvolve utilizando PHP desde 2001, sócio na 2km interativa! empresa mineira que desenvolveu mais de 30 projetos em CakePHP em um ano. Gosta de software livre, principalmente do 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).

Motivação Divulgar o framework CakePHP Retribuir à comunidade de software livre Combater o código 'espaguete' Mostrar como programar pode ser simples e divertido!

Introdução O que são frameworks? Framework é uma biblioteca de classes? Qual a vantagem de utilizar um framework?

CakePHP É um framework desenvolvido em linguagem PHP. Permite o desenvolvimento em 3 camadas (MVC) Permite mapeamento do banco de dados para o mundo orientado a objetos (ORM) Desenvolvimento utilizando Convenções (CoC) Desenvolvimento focado na não repetição de fontes (DRY) Código final simples e organizado (KISS)

É só isso que o CakePHP faz?

Outros Recursos i18n, l10n - Internacionalização e localizacão Segurança (RFI, LFI, injection, CSRF, XSS, Session hijacking, Session fixation), Data Sanitization, Acl e Auth Gerador de Código-fonte (bake) Validação do formulário Diversos Components, Behaviors e Helpers Ferramenta de template utilizando sintaxe PHP URL amigáveis Criação de Ajax de forma simples Scaffolding - geração de views on-the-fly E o principal: devolve ao programador a diversão de programar

Instalação Todas as máquinas têm instalado Apache, php e mysql Verificar se o módulo rewrite está habilitado no Apache (httpd. conf) Baixar o cakephp (http://cakephp.org) Descompactar o arquivo na pasta htdocs do apache Acessar http://localhost

Configuração Arquivo:.../htdocs/app/config/database.php Configurar o array default inserindo: host, usuário, senha e banco de dados. Arquivo:.../htdocs/app/config/core.php Alterar o valor do Security.salt

Estrutura de diretórios do CakePHP Diretório /app/ /app/config/ /app/models/ Descrição Onde os arquivos da aplicação são gravados. Todos os arquivos de configuração ficam nesta pasta. As classes da camada de modelo devem ser escritas neste diretório. /app/constrollers/ As classes da camada de controle devem ser escritas neste diretório. /app/views/ Os arquivos da camada de visão devem ser escritos neste diretório. /app/webroot/ /cake/ Todas as requisições são direcionadas para este diretório. As pastas deste diretório servem como abrigo para arquivos css, imagens, javascripts e qualquer outro arquivo que precisa estar disponíveis para requisição direta. Os arquivos do framework ficam neste diretório. O desenvolvedor não deve alterar o conteúdo desta pasta, somente se souber o que está fazendo.

Convenções no CakePHP Local Regra Exemplo Banco de Dados Nome das tabelas - Plural, Minúsculo usuarios, posts, artigos Banco de Dados Chave Primária - id int auto_increment Banco de Dados Campos: Minúsculo, usando sublinhados nome, data_de_nascimento Banco de Dados Banco de Dados Chave estrangeira: nome da tabela relacionada no singular + sublinhado + id Relacionamento N-M: tabelas em ordem alfabética, separadas por sublinhado cliente_id, usuario_id produtos_usuarios, grupos_usuarios Model Nome do Arquivo: Singular e CamelCase Usuario.php, Grupo.php Model Nome da Classe: Singular e CamelCase Usuario, Grupo Controller Controller Nome do Arquivo: Plural, sublinhados e terminado em controller Nome da Classe: Plural, CameCase e terminado em Controller usuarios_controller.php UsuariosController, GruposController View Local dos arquivos: /views/nome_do_controller /views/usuarios/, /views/grupos/ View Nome dos arquivos: nome da ação do controller com sublinhados /views/usuarios/add.ctp, /views/grupos/index.ctp

Fluxo de uma requisição

Camada de Modelo: Atributos usedbconfig usetable tableprefix primarykey displayfield recursive order validate

Camada de Modelo: Relacionamentos HasOne HasMany BelongsTo HasAndBelongsToMany (HABTM)

Camanda de Modelo: Métodos Recuperar find findallby<name > query Salvar save saveall create Apagar del deleteall

Camada de Modelo: Callbacks beforefind afterfind beforevalidate aftervalidate beforesave aftersave beforedelete afterdelete

Camada de Controle: Atributos name components helpers uses layout pagetitle params data

Camada de Controle: Métodos set render redirect flash referer paginate

Camada de Controle: Callbacks beforefilter beforerender alfterfilter afterrender

A Camada de visão Layout View Elements Helpers

Campanha para acabar com o espaguete A 2km atua na árdua batalha para acabar com o maldito código espaguete, caso você tenha interesse de se juntar a nossa causa, conheça as armas para por fim ao espaguete: Curso de CakePHP Curso de jquery Curso de Padrões Web

Referências Site oficial do cakephp www.cakephp.org Manual do CakePHP book.cakephp.org Artigos e tutoriais bakery.cakephp.org Grupo do CakePHP em português groups.google. com/group/cake-php-pt

Agradecimentos Aos organizadores do 2o. encontro de PHP MG A UNI-BH, pelo espaço cedido Ao CakePHP, por facilitar minha vida A comunidade do PHP pela presença

Perguntas? Daniel Golgher - e-mail: daniel@2km.com.br- twitter: @golgher www.2km.com.br - Twitter: @2km