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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento

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

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

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

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

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

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

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

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

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

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

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

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

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

LINGUAGEM DE PROGRAMAÇÃO WEB

LINGUAGEM DE PROGRAMAÇÃO WEB LINGUAGEM DE PROGRAMAÇÃO WEB GABRIELA TREVISAN Ambiente de Desenvolvimento Após instalar o Wamp Server, inicie o servidor. Um ícone aparecerá na SystemTray. A cor do ícone indica seu estado: Verde: servidor

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

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

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

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

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

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

6 Aplicações Ricas para Internet

6 Aplicações Ricas para Internet 6 Aplicações Ricas para Internet DESENVOLVIMENTO WEB II - 7136 6.1. Evolução das aplicações para web O crescente número de pessoas que usufruem da informatização das tarefas cotidianas, viabilizadas na

Leia mais

Instalando o WordPress em localhost

Instalando o WordPress em localhost Instalando o WordPress em localhost WordPress sem Mistério LEE ARAUJO htto://wordpresssemmisterio.com.br Sumário Instalando o WordPress em Localhost... 2 O Servidor web... 3 Iniciando o servidor... 6 Criação

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

APOSTILA DE LINGUAGEM DE PROGRAMAÇÃO IV

APOSTILA DE LINGUAGEM DE PROGRAMAÇÃO IV APOSTILA DE LINGUAGEM DE PROGRAMAÇÃO IV CIÊNCIA DA COMPUTAÇÃO PROF. ERWIN ALEXANDER UHLMANN Universidade Guarulhos Página 1 Agradecimentos Agradeço a todos os alunos que com suas dúvidas me ajudaram a

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

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

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

Capítulo 7 O Gerenciador de Arquivos

Capítulo 7 O Gerenciador de Arquivos Capítulo 7 O Gerenciador de Arquivos Neste capítulo nós iremos examinar as características da interface do gerenciador de arquivos Konqueror. Através dele realizaremos as principais operações com arquivos

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

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

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH! UNIVERSIDADE DE SÃO PAULO (USP) ESCOLA DE ARTES, CIÊNCIAS E HUMANIDADES (EACH) TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH! Autoria e revisão por: PET Sistemas

Leia mais

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

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem

Leia mais

Instrução para Instalação de Certificados Digitais de Servidor Web

Instrução para Instalação de Certificados Digitais de Servidor Web Instrução para Instalação de Certificados Digitais de Servidor Web Certificado Digital do tipo A1 Sistemas Operacionais: Windows 2000 Server Windows 2003 Server Dezembro/2010 Proibida a reprodução total

Leia mais

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas O que é PHP? Acrônimo de PHP: Hipertext Language PostProcessor Inicialmente escrita para o desenvolvimento de aplicações Web Facilidade para iniciantes e recursos poderosos para programadores profissionais

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

Estratégia para fazer cópias de segurança ( backup ) em nuvem

Estratégia para fazer cópias de segurança ( backup ) em nuvem 1 de 20 Estratégia para fazer cópias de segurança ( backup ) em nuvem Resolvi documentar uma solução que encontrei para fazer minhas cópias de segurança. Utilizo um software gratuito chamado Cobian Backup

Leia mais

Escrito por Neri Neitzke Qua, 25 de Junho de 2014 14:51 - Última atualização Qua, 25 de Junho de 2014 14:54

Escrito por Neri Neitzke Qua, 25 de Junho de 2014 14:51 - Última atualização Qua, 25 de Junho de 2014 14:54 Java para Web 4, aprenda criar um sistema para web usando MVC (Model View Controller), DAO, JSTL, Custom Tags, HTML5, JavaScript, CSS3, Eclipse, Netbeans, postgresql powerdesigner. São 159 videoaulas em

Leia mais

Manual de instalação Servidor Orion Phoenix

Manual de instalação Servidor Orion Phoenix Manual de instalação Servidor Orion Phoenix Fevereiro/2011 Este documento se destina a instalação do Orion Phoenix na sua rede Versão 1.01 C ONTE ÚDO 1. INTRODUÇÃO... 3 2. VISÃO GERAL... 3 3. PROCEDIMENTOS

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

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

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

Introdução. Nesta guia você aprenderá:

Introdução. Nesta guia você aprenderá: 1 Introdução A criação de uma lista é a primeira coisa que devemos saber no emailmanager. Portanto, esta guia tem por objetivo disponibilizar as principais informações sobre o gerenciamento de contatos.

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

Como criar uma conta gratuita e subir uma foto no Windows Azure

Como criar uma conta gratuita e subir uma foto no Windows Azure Como criar uma conta gratuita e subir uma foto no Windows Azure (enviar URL da foto para igsjunior@gmail.com no máximo até 20/dez/2010) by Idevar Junior 1. Entre no site http://www.windowsazure.com/ 2.

Leia mais

O Blog do Conhecimento (http://blog.df.sebrae.com.br/ugc), desenvolvido pela UGC, é uma

O Blog do Conhecimento (http://blog.df.sebrae.com.br/ugc), desenvolvido pela UGC, é uma MANUAL DE UTILIZAÇÃO DO BLOG DO CONHECIMENTO APRESENTAÇÃO O Blog do Conhecimento (http://blog.df.sebrae.com.br/ugc), desenvolvido pela UGC, é uma ferramenta de COLABORAÇÃO que tem como objetivo facilitar

Leia mais

WP para bibliotecários Moreno Barros. extralibris.org bsf.org.br

WP para bibliotecários Moreno Barros. extralibris.org bsf.org.br WP para bibliotecários Moreno Barros extralibris.org bsf.org.br O que é o wordpress? wordpress é um software open source para gerenciamento de blogs. Como apresenta muitas facilidades e recursos, ele também

Leia mais

Introdução a Banco de Dados

Introdução a Banco de Dados Introdução a Banco de Dados Ricardo Henrique Tassi - Departamento de Replicação Índice 1- Introdução... 03 2- Quais são os bancos de dados mais conhecidos hoje em dia...04 3- Quais são os tipos de banco...05

Leia mais

Utilizando subversion como controle de versão

Utilizando subversion como controle de versão Utilizando subversion como controle de versão Heitor Rapcinski Este documento descreverá a utilização de subversion como ferramenta de controle de versão mostrando as facilidades da sua utilização para

Leia mais

PostgreSQL & PostGIS: Instalação do Banco de Dados Espacial no Windows 7

PostgreSQL & PostGIS: Instalação do Banco de Dados Espacial no Windows 7 PostgreSQL & PostGIS: Instalação do Banco de Dados Espacial no Windows 7 PostgreSQL & PostGIS: Instalação do Banco de Dados Espacial no Windows 7 Sobre o PostGIS PostGIS é um Add-on (complemento, extensão)

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

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

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

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

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

Instrução para Exportação de Certificados Digitais de Servidor Web IIS 6 e IIS 7

Instrução para Exportação de Certificados Digitais de Servidor Web IIS 6 e IIS 7 Instrução para Exportação de Certificados Digitais de Servidor Web IIS 6 e IIS 7 Gerar backup do certificado Gerar arquivo.pfx Certificado Digital do tipo A1 Sistemas Operacionais: Windows 2000 Server

Leia mais

PgAdmin. O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX.

PgAdmin. O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX. 1/20 PgAdmin O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX. Site para download. Caso queira a última versão - http://www.pgadmin.org/download/ É uma

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

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

Manual da Ferramenta Metadata Editor

Manual da Ferramenta Metadata Editor 4 de março de 2010 Sumário 1 Introdução 3 2 Objetivos 3 3 Visão Geral 3 3.1 Instalação............................. 3 3.2 Legenda.............................. 4 3.3 Configuração Inicial........................

Leia mais

II Semana de Tecnologia da Informação. Rails Framework

II Semana de Tecnologia da Informação. Rails Framework II Semana de Tecnologia da Informação Rails Framework Rails Instalação Ruby versão 1.8.7 Linux: ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz ou apt-get install ruby (Debian/Ubuntu) Windows:

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

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

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