Curso de CakePHP. Curso de CakePHP Página 1 /69

Tamanho: px
Começar a partir da página:

Download "Curso de CakePHP. Curso de CakePHP Página 1 /69"

Transcrição

1 Curso de CakePHP Página 1 /69 Curso de CakePHP 1 Introdução Configurações Convenções Bake (Gerando aplicativos pela console) Model Controller View Action Scaffold Validações Menus CSS JavaScript Vendors Relacionamentos Dicas Aplicativos de Exemplo Aplicativo Livros Aplicativo cake_olamundo Outros Exemplos Referências

2 Curso de CakePHP Página 2 / Cake - Introdução O que é CakePHP? CakePHP é um framework de desenvolvimento rápido para PHP que fornece uma arquitetura extensível para desenvolvimento, manutenção e implantação de aplicativos. Usando padrões de projeto conhecidos como MVC e ORM com o paradigma das convenções sobre configurações, CakePHP reduz os custos de desenvolvimento e ajuda os desenvolvedores a escrever menos código. Site oficial - Desde que Ruby on Rails se tornou um popular framework, equipes de desenvolvedores tem criado clones do framework Rails ou Rails em várias linguagens: TurboGears para Python; Zend, Symfony, e muitos outros para PHP; Catalyst para Perl; e assim por diante. Com tantas opções, por que escolher CakePHP para seu projeto web? Framework Um framework pode ser definido como a planta baixa de onde todos os sistemas serão construídos, ou como uma forma que bolos, que padroniza a forma e o volume de todos os bolos criados com ela. O framework enxerga cada tabela como uma classe, e cada registro da tabela como um objeto específico da classe Alguns softwares como os CMS são muito simples de instalar e usar, até mesmo sem nenhuma documentação, como é o caso dos CMS. Já os frameworks, a exemplo do CakePHP, requerem que tomemos conhecimento de pelo menos algumas convenções que ele traz. Caso não sigamos essas convenções ele não fará muito por nós. Sem contar que os frameworks são softwares de um tipo que exigem mais conhecimento que os CMS. Características do Cake Cake tem como objetivo simplificar o processo de desenvolvimento para a construção de aplicações web provendo um método geral para organizar o banco de dados e outros recursos que reduzem a codificação. Embora esta abordagem geral da programação web seja em si uma característica importante do Cake, o seu repositório de outros recursos poderosos como validação embutida, listas de controle de acesso (ACLs), sanitização de dados, segurança e componentes de manipulação de sessão e cache de View fazem o Cake vale a pena para qualquer desenvolvedor sério.

3 Características Principais Curso de CakePHP Página 3 /69 - Sem Configuração (com convenções) Configure o banco e deixe a mágica iniciar - Extremamente Simples Apenas veja o nome...ele chama-se Cake/Bolo - Ativa e Amigável Comunidade Junte-se a nós no #cakephp (IRC). Adoraríamos ajudar você a começar - Licença Flexível Distribuído sob a licença MIT - Clean IP Toda linha de código foi escrita pela equipe de desenvolvimento do CakePHP - Melhores Práticas cobrindo segurança, autenticação e manipulação de session, além de muitas outras características - OO Caso seja um programador OO experiente ou novato se sentirá confortável - Compatível com as versões 4 e 5 do PHP - CRUD Integrado para interação com o banco de dados - Aplicação scaffolding - Geração de código - Arquitetura MVC - Requisição de dispatcher com URL limpa, personalizada e rotas/routes - Validação embutida - Rápidos e flexíveis templates (Sintaxe PHP, com helpers) - View Helpers para AJAX, JavaScript, Forms HTML e mais - , Cookie, Security, Session e Request Handling Components - Flexível ACL - Sanitização de Dados - Flexível Caching - Localização - Trabalha a partir de qualquer diretório do site, com pouca ou nenhuma configuração do Apache envolvidas Requisitos PHP ou superior Servidor Web Apache com o mod_rewrite Tecnicamente um banco de dados não é obrigatório, mas nós imaginamos que a maioria das aplicações irão utilizar um. CakePHP suporta uma variedade de banco de dados: - MySQL (4 ou superior) - PostgreSQL - Firebird DB2 - Microsoft SQL Server - Oracle - SQLite - ODBC - ADOdb Como pode mudar de versão para versão (a atual é a ), confira no diretório: cake/libs/model/datasources/dbo:

4 Curso de CakePHP Página 4 /69 dbo_db2.php, dbo_firebird.php, dbo_mssql.php, dbo_mysql.php, dbo_mysqli.php, dbo_odbc.php, dbo_oracle.php, dbo_postgres.php, dbo_sqlite.php, dbo_sybase.php. Estrutura original do diretório do cake: cake/app cake/cake cake/vendors cake/index.php cake/index_webroot.txt cake/readme Estrutura original do diretório app: cake/app/config cake/app/controllers cake/app/locale cake/app/models cake/app/plugins cake/app/tests cake/app/tmp cake/app/vendors cake/app/views cake/app/webroot cake/app/index.php A pasta app do CakePHP é onde normalmente você colocará sua aplicação em desenvolvimento. Vamos dar uma olhada mais de perto dentro desta pasta. config Contém os arquivos de configuração. Detalhes das conexões ao banco de dados, bootstrapping, arquivos de configuração do núcleo e outros devem ser armazenados aqui. controllers Contém os controladores da sua aplicação e seus componentes. locale Guarda os arquivos com as strings para internacionalização. models Contém os modelos, behaviors e datasources da sua aplicação. plugins Contém os pacotes de plugins. tmp Aqui é onde o CakePHP armazena os arquivos temporários. Os dados atuais são armazenados onde

5 Curso de CakePHP Página 5 /69 você tenha configurado o CakePHP, mas esta pasta normalmente é usada para guardar a descrição dos modelos, logs e outras informações, como as das sessões. vendors Qualquer classe ou biblioteca de terceiro deve ser armazenada aqui. Para fazer um acesso rápido e fácil, use a função vendors(). Você pode achar que esta pasta é redundante, já que existe uma pasta com mesmo nome no nível superior da estrutura. Nós vamos ver diferenças entre estas duas pastas quando discutirmos sobre manipulação de múltiplas aplicações e sistemas mais complexos. views Arquivos de apresentação devem vir aqui: elementos, páginas de erro, ajudantes, layouts e arquivos de visões. webroot No modo de produção, esta pasta deve servir como a pasta raiz da sua aplicação. Dentro desta pasta são guardados os arquivos públicos, como estilos CSS, imagens e arquivos de JavaScript. cake - bolo baker - padeiro

6 Curso de CakePHP Página 6 / Cake - Configurações Mesmo sendo focado em convenções ao invés de configurações, o Cake pode ter seu comportamento alterado através de alguns arquivos de configuração, que encontram-se na pasta config: database core router debug tradução testes etc. Vários Aplicativos num único Core Podemos configurar para que várias aplicações usem um único core do Cake. - Todos os aplicativos devem ficar assim: cake app1 app2 app3... E cada um deles deve ter seu arquivo webroot/index.php alterado na linha com CAKE_CORE_INCLUDE_PATH, mudando para: define('cake_core_include_path', dirname(dirname(dirname( FILE )))); Debug O debug nas fases de desenvolvimento e de testes é muito importante, mas após a conclusão e entrega para o cliente devemos setar o debug para zero. O Debug pode ser alterado manualmente no script config/core.php, na linha: Configure::write('debug', 0); O default é 2. Zero é sem debug (sem exibir as mensagens de erro ou alerta). ou via código da nossa aplicação com: Configure::write('debug', '0'); Os possíveis são: 0 = Production mode. No output. debug 1 = Show errors and warnings. 2 = Show errors, warnings, and SQL. 3 = Show errors, warnings, SQL, and complete controller dump.

7 Curso de CakePHP Página 7 /69 Tradução Também podemos traduzir algumas coisas do CakePHP, como as mensagens de erro Download: Adicionar linha ao final de config/core.php: Configure::write('Config.language', 'pt-br'); Adicionar Testes com SimpleTest Download - Descompacte e copie a pasta simpletest para a subpasta vendor do seu aplicativo. Formatar Data e Hora Trocar: echo $cliente['cliente']['created'] por: echo $time->niceshort($cliente['cliente']['created'])

8 Curso de CakePHP Página 8 / Cake - Convenções O Cake previlegia convenções ao invés de configurações. O que significa que seguindo as convenções estabelecidas o cake fará muito por nós. Não somos obrigados a seguir as convenções, mas perderemos muito com isso, pois teremos que fazer muito. Apesar de tomar um pouco de tempo para aprender as convenções do CakePHP, você ganha tempo em um longo processo: seguindo as convenções, você ganha funcionalidades gratuitamente e livrase de madrugadas de manutenção de arquivos de configuração. Convenções também fazem com que o sistema fique uniformemente desenvolvido, permitindo que outros desenvolvedores o ajudem mais facilmente, já que segue um padrão de trabalho. Convenções no CakePHP têm sido produzidas por anos de experiência em desenvolvimento web e boas práticas. Apesar de sugerirmos que você use essas convenções enquanto desenvolve em CakePHP, devemos mencionar que muitos desses princípios são facilmente sobrescritos - algo que especialmente acontece quando trabalha-se com sistemas legados. Convenções de arquivos e nome de classes Em geral, nome dos arquivos são sublinhados, enquanto nome de classes são CamelCased, ou seja, primeiras letras das palavras em maiúsculo. A classe KissesAndHugsController pode ser encontrada no arquivo kisses_and_hugs_controller.php, por exemplo. Porém, o nome da class e seu tipo não são necessariamente encontrados no nome do arquivo. A classe Component é encontrada no arquivo chamado .php e a classe HtmlHelper é encontrada no arquivo html.php. Convenções de modelo Nome das classes de modelo devem ser no singular e CamelCased. Person, BigPerson e ReallyBigPerson são exemplos de nomes convencionados para modelos. Os nomes das tabelas correspondentes a modelos do CakePHP devem estar no plural e sublinhados. As tabelas para os modelos mencioados anteriormente devem ser people, big_people e really_big_people, respectivamente. Chaves estrangeiras em relacionamentos do tipo temmuitos (hasmany), pertencea (belongsto) ou temum (hasone) são reconhecidos por padrão como o nome (no singular) do modelo relacionado, seguido por _id. Assim, se um padeiro temmuitos bolos, a tabela bolos referenciará a um padeiro na tabela padeiros através da chave estrangeira padeiro_id. Tabelas associativas, usadas em relações temepertenceamuitos (hasandbelongstomany) entre modelos, devem ser nomeadas depois dos modelos das tabelas que a compõem, em ordem alfabética (apples_zebras em vez de zebras_apples). Todas as tabelas com as quais os modelos CakePHP interagem (exceto as tabelas associativas)

9 Curso de CakePHP Página 9 /69 exigem uma única chave primária para identificar unicamente cada linha. Se você deseja modelar uma tabela que não tem uma chave primária de um único campo, como as linhas de nossa tabela associativa posts_tags, a convenção do CakePHP é de que uma chave primária de um único campo deve ser adicionada à tabela. CakePHP não suporta chaves primárias compostas. No caso de você querer manipular diretamente os dados das tabelas associativas, isso significa que você precisa usar chamadas a consultas diretas, ou adicionar um campo como chave primária para ser capaz de atuar nela como em um modelo normal. Por exemplo: CREATE TABLE posts_tags ( id INT(10) NOT NULL AUTO_INCREMENT, post_id INT(10) NOT NULL, tag_id INT(10) NOT NULL, PRIMARY KEY(id)); Convenções de controlador O nome das classes de controladores são no plural, CamelCased e no final 'Controller'. PeopleController, BigPeopleController e ReallyBigPeopleController são todos os exemplos convencionais para nome de controladores. A primeira função que você deve escrever em um controlador deve ser o método index(). Quando alguém requisita um controlador sem ação, o behavior padrão é renderizar o método index() do controlador. Por exemplo, a requisição para mapeia para a chamada da função index() do ApplesController, assim como mapeia para a chamada da função view() no ApplesController. Você também pode alterar a visibilidade das funções do controlador em CakePHP colocando sublinhados na frente do nome das funções. Se a função do controlador estiver com sublinhado na frente, a função não será disponibilizada para acesso da web através do dispatcher, mas estará disponível para uso interno.por exemplo: class NewsController extends AppController { function latest() { $this->_findnewarticles(); function _findnewarticles() { //Logic to find latest news articles Apesar da página possa ser acessada pelo usuário normalmente, alguém que tente acessar a página

10 Curso de CakePHP Página 10 /69 receberá um erro porque a função é precedida de um sublinhado. Considerações sobre URLs para Nomes de Controladores Como você acabou de ver, controladores de uma única palavra são mapeados facilmente para uma URL simples em letras minúsculas. Por exemplo, ApplesController (que seria definida em um arquivo de nome 'apples_controller.php') é acessada a partir de Controladores de múltiplas palavras mapeados para URLs em camelbacked mantendo a forma plural. Por exemplo, RedApplesController (red_apples_controller.php) seria mapeada para e OperatingSystemsController (operating_systems_controller.php) seria mapeada para Convenções de visão Os arquivos de template de visões são nomeados depois das funções de controladores que mostram esses arquivos de template, na forma com sublinhados. A função getready() da classe PeopleController irá procurar pelo template da visão em /app/views/people/get_ready.ctp. O modelo básico é /app/views/controller/underscored_function_name.ctp. Nomeando os pedaços da aplicação usando as convenções do CakePHP, você ganha funcionalidades sem luta e sem amarras de configuração. Aqui o exemplo final que vincula as associações: Tabela no banco de dados: 'people' Classe do Modelo: 'Person', encontrada em /app/models/person.php Classe do Controlador: 'PeopleController', encontrado em /app/controllers/people_controller.php Template da Visão: encontrado em /app/views/people/index.ctp Usando estas convenções, CakePHP sabe que a requisição para mapeia para a chamada da função index() do PeopleController, onde o modelo Person é automaticamente disponibilizado (e automaticamente associado à tabela 'people' no banco de dados), e renderiza isso para o arquivo. Nenhuma destas relações foram configuradas por qualquer meio que não seja através da criação de classes e arquivos que você precise criar em algum lugar. Agora que você leu os fundamentos do CakePHP, você pode tentar seguir o tutorial de como fazer um Blog em CakePHP, para ver como as coisas são feitas juntas.

11 Curso de CakePHP Página 11 /69 Resumo - bancos de dados minúsculas e singular - tabelas minúsculas e plural - chave primária de todas as tabelas deve ser chamada de id (opcionalmente) - chaves estrangeiras devem ser chamadas de tabelanome_id, exemplo blog_id (nome tabela no singular) - nomes de modelos CamelCase e arquivos em minúsculas e singular e sublinhado para separar palavras compostas: meu_post.php e MeuPost - controladores arquivo: minúsculas e plural. Classe CamelCase com Controller anexado, como: PostsController. Nomes de arquivos com sublinhado em palavras compostas: posts_controller.php Associações entre Tabelas (relacionamentos) hasone: possui um hasmany: possui muitos belongsto: pertence a hasandbelongstomany: tem e pertence a muitos O Cake automaticamente adiciona o tempo para campos que são do timo datetime e são nomeados 'created' ou 'modified'.

12 Curso de CakePHP Página 12 / Criar Aplicativos em Cake com o Bake Operações de CRUD com o script bake. Após a utilização do bake temos um "esqueleto" de aplicação. Agora podemos customizar os códigos gerados para criarmos a aplicação final. - Copiar a pasta app Primeiro vamos copiar a pasta app para estoque - Criar o banco Depois vamos criar um banco chamado estoque (MySQL), no phpmydmin importe este script aqui. O banco coterá cinco tabelas: clientes, funcionarios, produtos, pedidos e pedido_itens - Relacionamentos A tabela pedidos está relacionada com clientes e fun cionarios, portanto tem dois campos: cliente_id e funcionario_id A tabela pedido_itens se relaciona com pedidos pelo campo pedido_id. - Criar aplicativo com Bake Vamos usar o bake para criar o aplicativo através da console. - Configurar para usar vários aplicativos com um único core Configurar estoque/webroot/index.php mudar a linha com define('cake_core_include_path' para: define('cake_core_include_path', dirname(dirname(dirname( FILE )))); - Acessar a pasta console cd /home/ribafs/public_html/cake/cake/console ou cd c:\xampplite\htdocs\cake\cake\console 1) Criar uma Configuração de banco./cake bake -app estoque Receberá a tela: Welcome to CakePHP v Console

13 Curso de CakePHP Página 13 / App : estoque Path: /home/ribafs/backup/public_html/cake/estoque Your database configuration was not found. Take a moment to create one Database Configuration: Name: [default] > Obs.: As opções entre colchetes como [default] acima são as opções sugeridas e default, basta teclar Enter se queremos aceitá-la. Tecle Enter para aceitar default como o nome da configuração do banco. 2) Selecionar o SGDB Driver: (db2/firebird/mssql/mysql/mysqli/odbc/oracle/postgres/sqlite/sybase) [mysql] > Apenas tecle Enter para aceitar o mysql 3) Tipo de conexão Persistent Connection? (y/n) [n] > Enter para aceitar não persistente 4) Host do Banco Database Host: [localhost] > Enter para aceitar localhost ou digite o nome do seu host 5) Porta Port? [n] > Enter para aceitar a porta default 6) Usuário User: [root] > Enter para aceitar 7) Senha Password:

14 Curso de CakePHP Página 14 /69 > Enter para aceitar sem senha ou digite a senha 8) Nome do banco Database Name: [cake] > Digite estoque e tecle Enter 9) Prefixo das tabelas Table Prefix? [n] > Enter para aceitar sem prefixo ou digite o prefixo 10) Codificação das tabelas Table encoding? [n] > Enter para aceitar a default ou entre com a codificação (exemplo: utf8) Então aparece o relatório: The following database configuration will be created: Name: default Driver: mysql Persistent: false Host: localhost User: root Pass: ****** Database: estoque Encoding: utf Look okay? (y/n) [y] > Tecle enter para aceitar. 11) Outra configuração de banco? Do you wish to add another database configuration? [n] > Enter para encerrar. Então ele criará o arquivo: Creating file /home/ribafs/public_html/cake/estoque/config/database.php

15 Curso de CakePHP Página 15 /69 Wrote /home/ribafs/public_html/cake/estoque/config/database.php Ao executar novamente o comando:./cake bake -app estoque Aparecerá o menu: Welcome to CakePHP v Console App : estoque Path: /home/ribafs/backup/public_html/cake/estoque Interactive Bake Shell [D]atabase Configuration [M]odel [V]iew [C]ontroller [P]roject [Q]uit What would you like to Bake? (D/M/V/C/P/Q) > Vamos criar na seguinte ordem para cada tabela: model, controller e view Criar o Model para a tabela Clientes 1) Tecle m e Enter (Model) Bake Model Path: /home/ribafs/backup/public_html/cake/estoque/models/ Possible Models based on your current database: 1. Cliente 2. Funcionario 3. PedidoIten 4. Pedido 5. Produto Enter a number from the list above, type in the name of another model, or 'q' to exit [q] > 2) Tecle 1 e Enter Would you like to supply validation criteria for the fields in your model? (y/n) [y] > 3) Validação

16 Tecle n e Enter (não vamos validar agora) 4) Nome do campo chave What is the primarykey? [cliente] > Curso de CakePHP Página 16 /69 No nosso caso está correto, apenas tecle Enter 5) Relacionamentos Would you like to define model associations (hasmany, hasone, belongsto, etc.)? (y/n) [y] > n e Enter 6) Correto? The following Model will be created: Name: Cliente Primary Key: cliente Associations: Look okay? (y/n) [y] > Enter 7) Baking model class for Cliente... Creating file /home/ribafs/backup/public_html/cake/estoque/models/cliente.php Wrote /home/ribafs/backup/public_html/cake/estoque/models/cliente.php Baking test fixture for Cliente... Creating file /home/ribafs/backup/public_html/cake/estoque/tests/fixtures/cliente_fixture.php Wrote /home/ribafs/backup/public_html/cake/estoque/tests/fixtures/cliente_fixture.php Baking unit test for Cliente... Creating file /home/ribafs/backup/public_html/cake/estoque/tests/cases/models/cliente.test.php Wrote /home/ribafs/backup/public_html/cake/estoque/tests/cases/models/cliente.test.php Criando o Model para Funcionarios Agora de forma mais resumida 1) m e Enter

17 Curso de CakePHP Página 17 /69 2) 2 para funcionarios e Enter 3) n e Enter (sem validação) 4) Chave primária - Enter para funcionario 5) Relacionamentos - n e Enter 6) Tudo OK? - Enter Criar o Model para Produtos De forma semelhante crie o model para produtos. Criar o Model para Pedidos Esse é diferente, pois tem relacionamentos com cliente e funcionários 1) m e Enter 2) 4 e Enter para pedido 3) n e Enter para validação 4) pedido como chave 5) Relacionamento Would you like to define model associations (hasmany, hasone, belongsto, etc.)? (y/n) [y] > Enter para sim. One moment while the associations are detected Please confirm the following associations: Pedido belongsto Cliente? (y/n) [y] > Enter para aceitar a relação com Cliente Pedido belongsto Funcionario? (y/n) [y] > Enter para aceitar a relação com funcionario. n para PedidoIten nas duas sugestões.

18 Enter para não adicionais relações. Curso de CakePHP Página 18 /69 Relato: The following Model will be created: Name: Pedido Primary Key: pedido Associations: Pedido belongsto Cliente Pedido belongsto Funcionario Look okay? (y/n) [y] > Enter para aceitar. Criar o modelo da tabela pedido_itens Que se relaciona apenas com pedidos. Criar o Controller para Clientes 1) c e Enter 2) 1 e Enter Would you like to build your controller interactively? (y/n) [y] > n 3) n para controller interativo 4) Incluir métodos básicos Would you like to include some basic class methods (index(), add(), view(), edit())? (y/n) [y] > Enter para aceitar 5) Would you like to create the methods for admin routing? (y/n) [y] > n e Enter 6) Relato: The following controller will be created: Controller Name: Clientes

19 Curso de CakePHP Página 19 / Look okay? (y/n) [y] > Enter para aceitar Criar os Controllers Funcionarios, PedidoItens, Pedidos e Produtos de forma semelhante Criar a view para a tabela Clientes 1) v e Enter 2) 1 e Enter 3) Criar scaffolds para a view: Would you like to create some scaffolded views (index, add, view, edit) for this controller? NOTE: Before doing so, you'll need to create your controller and model classes (including associated models). (y/n) [n] > y e Enter n para não criar admin De forma semenlhante criar as demais. Procurando ID e sobrescrevendo pelas respectivas chaves primárias nas views. Editar a views cake/estoque/views/clientes/index.ctp Procurar por id e sobrescrever com cliente. Assim com as demais views. Com isso temos um aplicativo com muitos bons recursos: CRUD, paginação, CSS, etc. Para criar um novo projeto com bake use:./cake bake -p nomeprojeto Para ir direto para model, controller ou view:./cake bake -app nomeapp model./cake bake -app nomeapp controller./cake bake -app nomeapp view

20 Curso de CakePHP Página 20 / Cake - Models Os models formam a camada da letra M do MVC, aquele que vai ao banco e conversa com os controllers atendendo as suas solicitações e devolvendo o resultado recebido do banco de dados. Modelo simples: cake/ola/models/cliente.php class Cliente extends AppModel { var $name = 'Cliente'; Todos os models em Cake tem a função find() usada para buscar os registros da tabela do model. Passando parâmetros para essa função nós podemos controlar os registros a buscar. Um Model com validação dos campos (gerado pelo Bake): class Produto extends AppModel { var $name = 'Produto'; var $primarykey = 'produto'; var $validate = array( 'produto' => array('numeric'), 'descricao' => array('notempty'), 'unidade' => array('notempty'), 'data_cadastro' => array('date') ); Model com relacionamento com clientes e funcionarios: class Pedido extends AppModel { var $name = 'Pedido'; var $primarykey = 'pedido'; //The Associations below have been created with all possible keys, those that are not needed can be removed

21 Curso de CakePHP Página 21 /69 var $belongsto = array( 'Cliente' => array( 'classname' => 'Cliente', 'foreignkey' => 'cliente_id', 'conditions' => '', 'fields' => '', 'order' => '' ), 'Funcionario' => array( 'classname' => 'Funcionario', 'foreignkey' => 'funcionario_id', 'conditions' => '', 'fields' => '', 'order' => '' ) ); Uma boa pedida para aprender sobre os Models na prática é criar aplicativos com o Bake na linha de comando e depois analisar o código gerado.

22 Curso de CakePHP Página 22 / Cake - Controllers O controller representa a letra C do VMC e é a camada de processamento em PHP, onde existem os for, if, while, etc. Ele recebe as requisições de uma View e manda para o respectivo Model. Ao receber o resultado do Model ele devolve para a Views que pediu. Em um aplicativo de posts... Cada ação do controller deve pegar os posts no banco e retornar para a view. A view deve então exibir todos os posts como lista. Controllers simples: cake/ola/controllers/clientes_controller.php class ClientesController extends AppController { var $name = 'Clientes'; Action Toda função pública dentro da classe controller é chamada de action. Esta action visualizará todos os clientes com a view index.ctp class ClientesController extends AppController { var $name = 'Clientes'; function index() { $this->set('clientes', $this->cliente->find('all')); Controllers e Views Um controller pode ter muitos actions e cada action tem sua view. Portanto um controller pode ter muitas views. Cake guarda todas as views de um controller em um diretório separado (do mesmo nome do controller).

23 Agora um controller mais sofisticado: Curso de CakePHP Página 23 /69 class PedidosController extends AppController { var $name = 'Pedidos'; var $helpers = array('html', 'Form'); function index() { $this->pedido->recursive = 0; $this->set('pedidos', $this->paginate()); function view($id = null) { if (!$id) { $this->session->setflash( ('Invalid Pedido.', true)); $this->redirect(array('action'=>'index')); $this->set('pedido', $this->pedido->read(null, $id)); function add() { if (!empty($this->data)) { $this->pedido->create(); if ($this->pedido->save($this->data)) { $this->session->setflash( ('The Pedido has been saved', true)); $this->redirect(array('action'=>'index')); else { $this->session->setflash( ('The Pedido could not be saved. Please, try again.', true)); $clientes = $this->pedido->cliente->find('list'); $funcionarios = $this->pedido->funcionario->find('list'); $this->set(compact('clientes', 'funcionarios')); function edit($id = null) { if (!$id && empty($this->data)) { $this->session->setflash( ('Invalid Pedido', true)); $this->redirect(array('action'=>'index')); if (!empty($this->data)) { if ($this->pedido->save($this->data)) { $this->session->setflash( ('The Pedido has been saved', true)); $this->redirect(array('action'=>'index')); else { $this->session->setflash( ('The Pedido could not be saved. Please, try again.', true));

24 Curso de CakePHP Página 24 /69 if (empty($this->data)) { $this->data = $this->pedido->read(null, $id); $clientes = $this->pedido->cliente->find('list'); $funcionarios = $this->pedido->funcionario->find('list'); $this->set(compact('clientes','funcionarios')); function delete($id = null) { if (!$id) { $this->session->setflash( ('Invalid id for Pedido', true)); $this->redirect(array('action'=>'index')); if ($this->pedido->del($id)) { $this->session->setflash( ('Pedido deleted', true)); $this->redirect(array('action'=>'index'));

25 Curso de CakePHP Página 25 / Cake - Views View representa a letra V do MVC. As views são responsáveis por receber as requisições do cliente e mandar para o controller. O controller manda para o model que devolve ao controller. Então o controller devolve para a view, que renderiza o resultado para o cliente. Lembrando que a view não deve ter nenhum contato direto com o model mas sempre passar pelo controller. Convenção - Todo action dos controllers e sua correspondente view tem o mesmo nome. Quando o action finaliza a execução a view é renderizada. View simples: cake/ola/views/clientes/index.ctp <h2>clientes</h2> if(empty($clientes)): Nenum cliente encontrado else: <table> <tr> <th>id</th> <th>nome</th> <th>ações</th> </tr> foreach ($clientes as $cliente): <tr> <td> echo $cliente['cliente']['id'] </td> <td> echo $cliente['cliente']['nome'] </td> <td> <!-- actions on tasks will be added later --> </td> </tr> endforeach; </table> endif; Agora chamar no navegador assim:

PHP Conference Brasil

PHP Conference Brasil CakePHP Elton Luís Minetto Agenda O que é o CakePHP Conceitos básicos Requisitos Instalação Configuração Aplicação de exemplo O que é o CakePHP Cake é um framework para PHP que usa padrões de desenvolvimento

Leia mais

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

Desenvolva rapidamente utilizando o framework CakePHP Elton Luís Minetto FISL 8.0 Desenvolva rapidamente utilizando o framework CakePHP Elton Luís Minetto Agenda O que é o CakePHP Conceitos básicos Requisitos Instalação Configuração Aplicação de exemplo O que é o CakePHP Cake é um framework

Leia mais

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

Desenvolva rapidamente utilizando o frame work CakePHP. Elton Luí s Minetto Desenvolva rapidamente utilizando o frame work CakePHP Elton Luí s Minetto Agenda Ambiente Web PHP Problemas Frameworks CakePHP Demonstração Ambiente Web É o ambiente formado por algumas tecnologias: Servidor

Leia mais

Mini-curso de CakePHP

Mini-curso de CakePHP 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

Leia mais

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

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 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 Entendendo Banco Imagine que vc tenha uma biblioteca e queira

Leia mais

Módulo Básico. Assando Sites. Relacionamentos, Validação, Consultas e Páginas Dinâmicas. Assando Sites http://assando-sites.com.

Módulo Básico. Assando Sites. Relacionamentos, Validação, Consultas e Páginas Dinâmicas. Assando Sites http://assando-sites.com. Assando Sites Relacionamentos, Validação, Consultas e Páginas Dinâmicas Módulo 4 Dê adeus aos JOINs 1 Relações entre Models 1.1 Definição Relações O CakePHP te dá quatro formas de relacionar (ligar) os

Leia mais

PHP Profissional. Alexandre Altair de Melo / Mauricio G. F. Nascimento. Editora Novatec

PHP Profissional. Alexandre Altair de Melo / Mauricio G. F. Nascimento. Editora Novatec Introdução Como a idéia deste livro é ir direto ao ponto, vou fazer isso já na introdução. A idéia desse livro não é explicar a teoria e filosofia do PHP, da orientação a objetos, as maravilhas dos design

Leia mais

Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL.

Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL. Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL. Procuraremos mostrar os principais procedimentos para fazer um cadastro de registros numa base de dados MySQL utilizando a linguagem

Leia mais

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

CakePHP. Tão fácil quanto fazer um bolo! CakePHP Tão fácil quanto fazer um bolo! Roteiro Conceitos Framework MVC CakePHP Quem sou eu... Rangel Xavier 25 anos Sistemas de Informação Aluno do Mestrado em Eng. de Software Design & Desenvolvedor

Leia mais

CakePHP Cookbook Documentation

CakePHP Cookbook Documentation CakePHP Cookbook Documentation Versão 2.x Cake Software Foundation 04 October, 2015 Conteúdo 1 Primeiros Passos 1 Blog.................................................. 1 Blog - Continuação..........................................

Leia mais

CakePHP Cookbook Documentation

CakePHP Cookbook Documentation CakePHP Cookbook Documentation Release 2.x Cake Software Foundation October 15, 2014 Conteúdo 1 Primeiros Passos 1 Blog.................................................. 1 Blog - Continuação..........................................

Leia mais

ZendWi Presentation 19/10/2012

ZendWi Presentation 19/10/2012 ZendWi Presentation 19/10/2012 Índice 1. Introdução ao Zend Framework 2 2. MVC 3. Zend Tools 4. Estrutura 5. Zend DB Model Generator 6. Back-End Developer 7. Front-End Developer 8. Links Úteis Introdução

Leia mais

Universidade Federal de Viçosa CPD - Central de Processamento de Dados Divisão de Desenvolvimento de Sistemas

Universidade Federal de Viçosa CPD - Central de Processamento de Dados Divisão de Desenvolvimento de Sistemas Universidade Federal de Viçosa CPD - Central de Processamento de Dados Divisão de Desenvolvimento de Sistemas Manual de padrões e convenções para desenvolvimento de sistemas PHP Versão Conteúdo 1.

Leia mais

Curso de Iniciação ao Framework PHP Yii

Curso de Iniciação ao Framework PHP Yii Curso de Iniciação ao Framework PHP Yii Igor Rafael igor at dcc.ufmg.br 12 de agosto de 2011 Conteúdo Visão Geral Configuração Fundamentos Estudo de caso Visão Geral O que é um framework? Coleção de bibliotecas

Leia mais

Iniciando com Zend_Auth By Rob Allen, www.akrabat.com Document Revision 1.0.8 Copyright 2007

Iniciando com Zend_Auth By Rob Allen, www.akrabat.com Document Revision 1.0.8 Copyright 2007 Iniciando com Zend_Auth By Rob Allen, www.akrabat.com Document Revision 1.0.8 Copyright 2007 Este tutorial é destinado a oferecer uma bem básica introdução para o uso do componente Zend_Auth com o Zend

Leia mais

PHP Conference Brasil

PHP Conference Brasil Symfony Elton Luís Minetto Agenda O que é o Symfony Conceitos básicos Requisitos Instalação Configuração Aplicação de exemplo O que é o Symfony Symfony é um framework de desenvolvimento para PHP5. Seu

Leia mais

Começando com Zend Framework

Começando com Zend Framework Começando com Zend Framework Versão brasileira da apresentação disponível em http://www.slideshare.net/baohx2000/zend-framework-19-setup-using-zendtool Ou: Como eu aprendi a parar de me preocupar e amei

Leia mais

Trabalhando com MySQL: Uma Introdução

Trabalhando com MySQL: Uma Introdução Trabalhando com MySQL: Uma Introdução 1. A linguagem PHP A linguagem PHP é uma linguagem de programação criada especialmente para o uso em páginas Web. Mas nem por isso ela não pode deixar de ser usada

Leia mais

Sensor de temperatura Parte 5 Cleiton Bueno www.cleitonbueno.wordpress.com. Preparando o ambiente do Banco de dados Mysql

Sensor de temperatura Parte 5 Cleiton Bueno www.cleitonbueno.wordpress.com. Preparando o ambiente do Banco de dados Mysql Criar database: Sensor de temperatura Parte 5 Cleiton Bueno www.cleitonbueno.wordpress.com Preparando o ambiente do Banco de dados Mysql CREATE DATABASE `tempuino` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

Leia mais

Aula Extra Conexão ODBC para aplicações Delphi 7 que usam SQL Server 2005

Aula Extra Conexão ODBC para aplicações Delphi 7 que usam SQL Server 2005 Nome Número: Série Aula Extra Conexão ODBC para aplicações Delphi 7 que usam SQL Server 2005 Proposta do projeto: Competências: Compreender a orientação a objetos e arquitetura cliente-servidor, aplicando-as

Leia mais

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza PHP e Banco de Dados progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net PHP e Banco de Dados É praticamente impossível

Leia mais

Prof. Carlos Majer Aplicações Corporativas UNICID

Prof. Carlos Majer Aplicações Corporativas UNICID Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença

Leia mais

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Trabalhando com conexão ao banco de dados MySQL no Lazarus Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 4 O Componente Trabalhando com conexão ao banco de dados MySQL no Lazarus Ano: 03/2011

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

O que é um framework?

O que é um framework? O que é um framework? Um framework, ou arcabouço, em desenvolvimento de software, é uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica. (Wikipedia)

Leia mais

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

CakePhp. Desenvolvimento Web Rápido (e Indolor) Alisson S A Nascimento alisson.sa.nascimento@gmail.com CakePhp DesenvolvimentoWebRápido(eIndolor) AlissonSANascimento alisson.sa.nascimento@gmail.com Roteiro AidéiadeumFramework OqueéoCakePhp? Aestruturadosdiretórios ModelViewControl Componentes,Plugins,VendorseHelpers

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2012 Edição 7 Listando e Gravando Listando itens em ComboBox e gravando os dados no

Leia mais

Programação Web com PHP. Prof. Wylliams Barbosa Santos wylliamss@gmail.com Optativa IV Projetos de Sistemas Web

Programação Web com PHP. Prof. Wylliams Barbosa Santos wylliamss@gmail.com Optativa IV Projetos de Sistemas Web Programação Web com PHP Prof. Wylliams Barbosa Santos wylliamss@gmail.com Optativa IV Projetos de Sistemas Web Agenda O que é PHP? O que da pra fazer com PHP? Como a web funciona? Onde, quando e por que

Leia mais

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 Desenvolvimento em PHP usando Frameworks Elton Luís Minetto Agenda Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração Ambiente Web É o ambiente formado

Leia mais

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

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro Desenvolvimento em PHP usando Frameworks Elton Luís Minetto Agenda Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro Ambiente Web É o ambiente

Leia mais

Microsoft Visual Studio Express 2012 for Windows Desktop

Microsoft Visual Studio Express 2012 for Windows Desktop Microsoft Visual Studio Express 2012 for Windows Desktop Apresentação da ferramenta Professor: Danilo Giacobo Página pessoal: www.danilogiacobo.eti.br E-mail: danilogiacobo@gmail.com 1 Introdução Visual

Leia mais

Guia de instalação para ambiente de Desenvolvimento LINUX

Guia de instalação para ambiente de Desenvolvimento LINUX Guia de instalação para ambiente de Desenvolvimento LINUX Conteúdo deste manual Introdução O guia de instalação... 3 Capítulo 1 Instalando o servidor Web Apache... 4 Teste de instalação do Apache... 9

Leia mais

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec Guia de Consulta Rápida PHP com XML Juliano Niederauer Terceira Edição Novatec Copyright 2002 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

English Português. By erickalves 25 Julho, 2009-01:08. Devido à política (#) de segurança. Encontrar Blogs Crie o seu blog de graça Ganhe prêmios

English Português. By erickalves 25 Julho, 2009-01:08. Devido à política (#) de segurança. Encontrar Blogs Crie o seu blog de graça Ganhe prêmios Encontrar Blogs Crie o seu blog de graça Ganhe prêmios English Português Cel: +55 (21) 7417-9918 E-mail: erick@lithic.com.br Inserindo dados no banco em PHP + Ajax + jquery + Mysql + Validação (/pt-br/blog/tutoriais

Leia mais

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET Programação para Internet I Aula 10 PHP: Trabalhando com Banco de Dados leticia@cafw.ufsm.br Acessando

Leia mais

Interagindo com Banco de Dados

Interagindo com Banco de Dados Interagindo com Banco de Dados Até agora não falamos de banco de dados, pois gostaríamos prime iro de te preparar para o uso do banco de dados dentro do Framework MVC. Mas antes de falarmos do framework

Leia mais

Frameworks para Desenvolvimento em PHP Elton Luís Minetto

Frameworks para Desenvolvimento em PHP Elton Luís Minetto Frameworks para Desenvolvimento em PHP Elton Luís Minetto Novatec capítulo 1 Introdução Uma das grandes vantagens do PHP é sua facilidade de aprendizado. Ao ler poucas páginas de tutoriais ou de algum

Leia mais

AULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA

AULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA Sumário Construção de sistema Administrativo... 1 Sistema de Login... 2 SQL INJECTION... 2 Técnicas para Evitar Ataques... 2 Formulário de Login e Senha fará parte do DEFAULT... 5 LOGAR... 5 boas... 6

Leia mais

Nos Trilhos com RAILS. Sylvestre Mergulhão

Nos Trilhos com RAILS. Sylvestre Mergulhão Nos Trilhos com RAILS Sylvestre Mergulhão Necessidades Desenvolver para a web Desenvolver para a web de forma organizada Desenvolver para a web de forma fácil de manter Desenvolver para a web de forma

Leia mais

Fórum Internacional Software Livre 8.0. PEAR::MDB2_Schema. Igor Feghali [ifeghali@php.net]

Fórum Internacional Software Livre 8.0. PEAR::MDB2_Schema. Igor Feghali [ifeghali@php.net] Fórum Internacional Software Livre 8.0 PEAR::MDB2_Schema Igor Feghali [ifeghali@php.net] Quem sou eu? Graduando em Engenharia de Computação pela Universidade Federal do Espírito Santo (UFES) Participante

Leia mais

Criando uma aplicação Web em C# usando o NHibernate

Criando uma aplicação Web em C# usando o NHibernate Criando uma aplicação Web em C# usando o NHibernate Apresento neste artigo como criar uma aplicação web totalmente orientada a objetos usando o framework NHibernate e a linguagem C#. Nossa meta é construir

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados

Leia mais

Sumário. Cópia de Sumário Crystal 10 Guia Prático.pmd 285

Sumário. Cópia de Sumário Crystal 10 Guia Prático.pmd 285 Sumário 1 Crystal Reports...1 1.1 Introdução... 1 1.2 Um pouco de História... 1 1.3 Novidades e Melhorias da Versão 10... 2 1.3.1 Acesso a Dados Simplificados (Business Views)... 3 1.3.2 Repositório...

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

1 R$ 50,00 R$ 50,00 reusable object-oriented software 2 Utilizando UML e padrões: uma

1 R$ 50,00 R$ 50,00 reusable object-oriented software 2 Utilizando UML e padrões: uma AUTOR: CESAR AUGUSTO TACLA CRIAÇÃO: 20/5/200 8:24 ÚLTIMA ALTERAÇÃO: 2/5/20 5: TRABALHO DE PADRÕES DE PROJETO ESPECIALIZAÇÃO JAVA 20 INSTRUÇÕES. O trabalho será feito aula a aula de acordo com a matéria

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados

Leia mais

Java na Web. Aplicações Web

Java na Web. Aplicações Web Montando o ambiente com HSQLDB JSP com um conteúdo de banco de dados: JDBC Integre JSPs com servlets aplicando o Modelo-Visualização- Controle Montando o ambiente com HSQLDB Faça a transferênci da página

Leia mais

Autor: Ricardo Francisco Minzé Júnior - ricardominze@yahoo.com.br Desenvolvendo aplicações em camadas com PHP 5.

Autor: Ricardo Francisco Minzé Júnior - ricardominze@yahoo.com.br Desenvolvendo aplicações em camadas com PHP 5. Desenvolvendo aplicações em camadas com PHP 5. Talvez a primeira vista você ache estranha a palavra Camada em programação, mas o que vem a ser Camada? Segundo o dicionário: Camada 1 - Qualquer matéria

Leia mais

PROJETO PEDAGÓGICO DE CURSOS

PROJETO PEDAGÓGICO DE CURSOS 1 de 6 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM NOVEMBRO / 2014 2 de 6 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks,

Leia mais

Manual de Instalação do Servidor Orion Phoenix Versão 1.0 - Novembro/2010

Manual de Instalação do Servidor Orion Phoenix Versão 1.0 - Novembro/2010 Manual de Instalação do Servidor Orion Phoenix Versão 1.0 - Novembro/2010 Manual de Instalação do Sistema Orion Phoenix 1.0 - Novembro/2010 Página 1 SUMÁRIO 1. INTRODUÇÃO...3 2. VISÃO GERAL...3 3. PROCEDIMENTOS

Leia mais

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

Escrito por Sáb, 15 de Outubro de 2011 01:19 - Última atualização Seg, 26 de Março de 2012 03:32 Preço R$ 129.00 Compre aqui Curso de PHP O.O usando Adodb, aprenda a criar uma loja virtual (carrinho de compras) até a geração do boleto bancário. Usei: Mysql e Dreamweaver cs4. São 163 videoaulas, 2

Leia mais

CakePHP Cookbook Documentation

CakePHP Cookbook Documentation CakePHP Cookbook Documentation Versão 3.x Cake Software Foundation 04 October, 2015 Conteúdo 1 CakePHP num piscar de olhos 1 Convenções Sobre Configuração................................... 1 A camada

Leia mais

Recursos avançados e Orientação a Objetos no PHP

Recursos avançados e Orientação a Objetos no PHP Recursos avançados e Orientação a Objetos no PHP Edgar Rodrigues Sandi edgar@season.com.br Gerente de projetos Desenvolvedor PHP e Java Ministra os treinamentos: Linguagens de Programação PHP I Fundamentos

Leia mais

Conhecendo o Visual FoxPro 8.0 Parte 1

Conhecendo o Visual FoxPro 8.0 Parte 1 AULA Conhecendo o Visual FoxPro 8.0 Parte 1 Em qualquer profissão é importante que se conheça bem as ferramentas que serão usadas para executar o trabalho proposto. No desenvolvimento de software não é

Leia mais

Seja Muito Bem-Vindo! Mas Por Quê? MySQLi Com e Sem Orientação a Objetos

Seja Muito Bem-Vindo! Mas Por Quê? MySQLi Com e Sem Orientação a Objetos Seja Muito Bem-Vindo! Antes de qualquer coisa, seja muito bem-vindo ao Guia ULTIMATE PHP de Migração do MySQL Para o MySQLi! Neste guia eu vou te mostrar passo-a-passo como migrar do MySQL para o MySQLi.

Leia mais

JDBC Java Database Connectivity

JDBC Java Database Connectivity 5 JDBC Java Database Connectivity Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Trabalhar com bancos de dados em aplicações web em JSP através das classes

Leia mais

MySQL. Prof. César Melo. com a ajuda de vários

MySQL. Prof. César Melo. com a ajuda de vários MySQL Prof. César Melo com a ajuda de vários Banco de dados e Sistema de gerenciamento; Um banco de dados é uma coleção de dados. Em um banco de dados relacional, os dados são organizados em tabelas. matricula

Leia mais

Universidade Federal de Minas Gerais Escola de Engenharia Departamento de Engenharia Eletrônica

Universidade Federal de Minas Gerais Escola de Engenharia Departamento de Engenharia Eletrônica Universidade Federal de Minas Gerais Escola de Engenharia Departamento de Engenharia Eletrônica Disciplina: Automação em Tempo Real (ELT012) Data: 17/04/2008 Professor: Luiz T. S. Mendes Guia prático para

Leia mais

Conceitos de extensões Joomla!

Conceitos de extensões Joomla! capítulo 1 Conceitos de extensões Joomla! Entendendo o que é extensão Extensão pode ser entendida como uma pequena aplicação desenvolvida com regras de construção estabelecidas pelo ambiente Joomla!. É

Leia mais

6. Introdução à Linguagem PHP

6. Introdução à Linguagem PHP 6. Introdução à Linguagem PHP A comunicação na Web exige dois agentes: o cliente web e o servidor web. O cliente requer informação (a partir de uma página HTML acessada pelo navegador) e o servidor fornece

Leia mais

Utilizaremos a última versão estável do Joomla (Versão 2.5.4), lançada em

Utilizaremos a última versão estável do Joomla (Versão 2.5.4), lançada em 5 O Joomla: O Joomla (pronuncia-se djumla ) é um Sistema de gestão de conteúdos (Content Management System - CMS) desenvolvido a partir do CMS Mambo. É desenvolvido em PHP e pode ser executado no servidor

Leia mais

Rails 3 Básico Cloves Carneiro Jr. Rida Al Barazi

Rails 3 Básico Cloves Carneiro Jr. Rida Al Barazi Rails 3 Básico Cloves Carneiro Jr. Rida Al Barazi Novatec Original English language edition published by Apress Inc., 2560 Ninth Street, Suite 219, Berkeley, CA 94710 USA. Copyright 2009 by Apress, Inc..

Leia mais

5 O Joomla: Web Apache Banco de Dados MySQL http://www.joomla.org/ - 55 -

5 O Joomla: Web Apache Banco de Dados MySQL http://www.joomla.org/ - 55 - 5 O Joomla: O Joomla (pronuncia-se djumla ) é um Sistema de Gestão de Conteúdos (Content Management System - CMS) desenvolvido a partir do CMS Mambo. É desenvolvido em PHP e pode ser executado no servidor

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

Controle de acesso. http://www.larback.com.br. .com.br

Controle de acesso. http://www.larback.com.br. .com.br http://www.larback Controle de acesso Construiremos um sistema simples para cadastro de links. O sistema terá uma página pública (onde serão exibidos os links) e uma área administrativa, onde os usuários

Leia mais

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL 1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)

Leia mais

Desenvolvimento de Aplicações para Internet Aula 8

Desenvolvimento de Aplicações para Internet Aula 8 Desenvolvimento de Aplicações para Internet Aula 8 Celso Olivete Júnior olivete@fct.unesp.br na aula passada Orientação a Objetos Classes Objetos Construtores Destrutores 2 na aula passada Construtores

Leia mais

Manual de Instalação e Configuração

Manual de Instalação e Configuração e Configuração MyABCM 4.0 Versão 4.00-1.00 2 Copyright MyABCM. Todos os direitos reservados Reprodução Proibida Índice Introdução... 5 Arquitetura, requisitos e cenários de uso do MyABCM... 7 Instalação

Leia mais

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Bruno Maciel Competências a serem trabalhadas nessa aula Criação da Base de Dados (MySQL) Criação de Tabelas Tipo de Dados Chave Primária

Leia mais

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Criando Banco de Dados, Tabelas e Campos através do HeidiSQL Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 2 Pedreiros da Informação Criando Banco de Dados, Tabelas e Campos através do HeidiSQL

Leia mais

Bool setcookie (string nome [, string valor [, int validade [, string caminho [, string dominio [, int seguro]]]]] )

Bool setcookie (string nome [, string valor [, int validade [, string caminho [, string dominio [, int seguro]]]]] ) Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais

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

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova. 3.5 Páginas: Ao clicar em Páginas, são exibidas todas as páginas criadas para o Blog. No nosso exemplo já existirá uma página com o Título Página de Exemplo, criada quando o WorPress foi instalado. Ao

Leia mais

13 Conectando PHP com MySQL 13.1 Introdução

13 Conectando PHP com MySQL 13.1 Introdução 13 Conectando PHP com MySQL 13.1 Introdução Agora que você já tem uma idéia básica de comandos MySQL, poderemos ver como a linguagem PHP pode interagir com este banco de dados através de inúmeras funções.

Leia mais

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

Programação WEB II. Sessions e Cookies. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza Sessions e Cookies progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net Cookies e Sessions Geralmente, um bom projeto

Leia mais

O essencial do comando mysqladmin, através de 18 exemplos

O essencial do comando mysqladmin, através de 18 exemplos O essencial do comando mysqladmin, através de 18 exemplos Elias Praciano O mysqladmin é uma ferramenta de linha de comando que vem junto com a instalação do servidor MySQL e é usada por administradores

Leia mais

The VISGRAF Video Database Rafaella Gappo Luiz Velho (orientador) Technical Report TR-2009-04 Relatório Técnico. August - 2009 - Agosto

The VISGRAF Video Database Rafaella Gappo Luiz Velho (orientador) Technical Report TR-2009-04 Relatório Técnico. August - 2009 - Agosto Laboratório VISGRAF Instituto de Matemática Pura e Aplicada The VISGRAF Video Database Rafaella Gappo Luiz Velho (orientador) Technical Report TR-2009-04 Relatório Técnico August - 2009 - Agosto The contents

Leia mais

Entendendo Rails. Fabio Akita Surgeworks Brazil Rails Practice Manager www.akitaonrails.com

Entendendo Rails. Fabio Akita Surgeworks Brazil Rails Practice Manager www.akitaonrails.com Entendendo Rails Fabio Akita Surgeworks Brazil Rails Practice Manager www.akitaonrails.com 37signals Criado por David Heinemeier Hansson, em 2004 Extraído do aplicativo Basecamp Feito em Ruby, em vez de

Leia mais

P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A. Criar uma relação mestre-detalhe. Pesquisa de informação

P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A. Criar uma relação mestre-detalhe. Pesquisa de informação P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A Módulo 18 Ferramentas de Desenvolvimento de Páginas Web Criar uma relação mestre-detalhe 1. Cria uma cópia da página «listaferram.php»

Leia mais

PHP (Seções, Cookies e Banco de Dados)

PHP (Seções, Cookies e Banco de Dados) PHP (Seções, Cookies e Banco de Dados) André Tavares da Silva andre.silva@udesc.br Seções Basicamente, as seções são métodos que preservam determinados dados ativos enquanto o navegador do cliente estiver

Leia mais

Faculdade de Tecnologia Senac (Pelotas) Análise e desenvolvimento de Sistemas Sistemas de Informação

Faculdade de Tecnologia Senac (Pelotas) Análise e desenvolvimento de Sistemas Sistemas de Informação Faculdade de Tecnologia Senac (Pelotas) Análise e desenvolvimento de Sistemas Sistemas de Informação Investigando Sistemas de Informação PHP-Nuke Maxwell Rodrigues Laner Sumário 1. Introdução...3 2. 1

Leia mais

Drupal. Desenvolvimento de Módulos

Drupal. Desenvolvimento de Módulos Drupal Desenvolvimento de Módulos O que é o Drupal? O que é o Drupal? Framework de gestão de conteúdo. O que é o Drupal? Framework de gestão de conteúdo. O padrão do Drupal é fornecer ferramentas para

Leia mais

Logo abaixo temos a Barra de Menus que é onde podemos acessar todos os recursos do PHP Editor.

Logo abaixo temos a Barra de Menus que é onde podemos acessar todos os recursos do PHP Editor. Nessa aula iremos estudar: A anatomia da janela do PHP Editor Iniciando o servidor Web O primeiro exemplo de PHP Anatomia da janela do PHP Editor Barra de Títulos: É a barra azul que se encontra na parte

Leia mais

Introdução ao Sistema. Características

Introdução ao Sistema. Características Introdução ao Sistema O sistema Provinha Brasil foi desenvolvido com o intuito de cadastrar as resposta da avaliação que é sugerida pelo MEC e que possui o mesmo nome do sistema. Após a digitação, os dados

Leia mais

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

Criando Frameworks Inteligentes com PHP. Uma abordagem prática: vantagens, aplicações e procedimentos. Criando Frameworks Inteligentes com PHP Uma abordagem prática: vantagens, aplicações e procedimentos. Apresentação Equipes ao redor do mundo utilizam diferentes padrões de projeto, de acordo com suas necessidades

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

Criação de uma base de dados em MS SQL Server e acesso com VB 6. Professor Sérgio Furgeri

Criação de uma base de dados em MS SQL Server e acesso com VB 6. Professor Sérgio Furgeri OBJETIVOS DA AULA: Criação de uma base de dados em MS SQL Server e acesso com VB 6. Fazer uma breve introdução a respeito do MS SQL Server 7.0; Criar uma pequena base de dados no MS SQL Server 7.0; Elaborar

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Criação de uma aplicação Web ASP.NET MVC usando Code First

Criação de uma aplicação Web ASP.NET MVC usando Code First Criação de uma aplicação Web ASP.NET MVC usando Code First Visual Studio > File > New Project > (Visual C#, Web) ASP.NET MVC 4 Web Application Name: MvcApplication11 Project Template: View Engine: Internet

Leia mais

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

Leia mais

CAPA O Sumo disponibiliza um módulo de gerenciamento de usuários para suas aplicações web com poucas linhas de código.

CAPA O Sumo disponibiliza um módulo de gerenciamento de usuários para suas aplicações web com poucas linhas de código. Restringindo acesso à Internet com o gerenciador de acesso SUMO Ajuda de peso CAPA O Sumo disponibiliza um módulo de gerenciamento de usuários para suas aplicações web com poucas linhas de código. por

Leia mais

Linguagem de Programação III Aula 2 Revisão Parte II

Linguagem de Programação III Aula 2 Revisão Parte II Linguagem de Programação III Aula 2 Revisão Parte II Prof. Moser Fagundes Curso Técnico em Informática (Modalidade Integrada) Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Revisão de PHP

Leia mais

Python Acessando o Banco de Dados MySQL

Python Acessando o Banco de Dados MySQL Python Acessando o Banco de Dados MySQL ANTONIO SÉRGIO NOGUEIRA PRESIDENTE PRUDENTE SP 2009 1 Sumário 1. Introdução...3 2. Interface MySQL...3 3.Instalando o MySQLdb...3 4.Verificando se o MySQL está instalado...4

Leia mais

Programação Web Aula 8 - Rails (Introdução)

Programação Web Aula 8 - Rails (Introdução) Programação Web Aula 8 - Rails (Introdução) Departamento de Informática UFPR 7 de Abril de 2014 1 Rails Básico Mágica Princípios Características Criando uma aplicação Levantando o Servidor Examinando o

Leia mais

Como usar o SQLReactor para persistência de objetos PHP num banco de dados

Como usar o SQLReactor para persistência de objetos PHP num banco de dados PROGRAMAÇÃO Como usar o SQLReactor para persistência de objetos PHP num banco de dados Objetos PHP no banco A persistência de objetos PHP em bancos de dados não requer operações complicadas. Basta um mapeador

Leia mais

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

Material de apoio a aulas de Desenvolvimento Web. Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS. AAS - www.aas.pro. Material de apoio a aulas de Desenvolvimento Web Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS AAS - www.aas.pro.net Março-2012 Este pequeno tutorial tem como objetivo conduzir o programador passo-a-passo

Leia mais

Passos Preliminares: Acessando a máquina virtual via ssh.

Passos Preliminares: Acessando a máquina virtual via ssh. CIn/UFPE Sistemas de Informação Redes de Computadores Professor: Kelvin Lopes Dias Monitor: Edson Adriano Maravalho Avelar {kld,eama@cin.ufpe.br Instalando o APACHE, PHP (PHPADMIN), MySQL. Este tutorial

Leia mais

Instalando o Lazarus e outros sistemas de suporte. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Instalando o Lazarus e outros sistemas de suporte. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Instalando o Lazarus e outros sistemas de suporte Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 1 Levante e ande - Instalando o Lazarus e outros sistemas de suporte. Ano: 02/2011 Nesta Edição

Leia mais

Tecnologias Inovadoras de Rede UNIBRATEC. Caderno de Práticas. Prof.: João Bosco Teixeira Junior. v0.4 29/08/2015

Tecnologias Inovadoras de Rede UNIBRATEC. Caderno de Práticas. Prof.: João Bosco Teixeira Junior. v0.4 29/08/2015 Tecnologias Inovadoras de Rede UNIBRATEC Caderno de Práticas Prof.: João Bosco Teixeira Junior v0.4 29/08/2015 INTRODUÇÃO Esse caderno tem o objetivo de agregar um conjunto de práticas que permitirá ao

Leia mais