SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Introdução
Evandro Klimpel Balmant
@EvandroBalmant
Framework ?
“Framework é um conjunto de classes
que colaboram para realizar uma responsabilidade
para um domínio de um subsistema da aplicação.”
FAYAD e SCHMIDT
“Em desenvolvimento de software,
um framework ou arcabouço é uma abstração que
une códigos comuns entre vários projetos de
software provendo uma funcionalidade genérica.”
Wikipédia
DRY
Don‘t repeat yourself
“Não se repita”
“É um princípio de desenvolvimento de software com
vista a reduzir a repetição de informações de todos
os tipos.”
Wikipédia
Zend Framework ?
Jiraya
Framework
Zend ?
Arquitetura MVC
Componentes Zend
Configuração Básica
Nome do Projeto
Diretório da Aplicação
Arquivos de Configuração
Controladoras
Controladora Principal
Models
Views
Templates
Templates da Controladora Index
Template do Método indexAction()
Definição de permissão de acesso
Arquivos de Documentação
Bibliotecas
Classes do Zend Framework
Definição de permissão de acesso
Arquivos Públicos
Folhas de estilo
Imagens
JavaScrips
Definição de permissão de acesso
Definição de permissão de acesso
Bootstrap
Bootstrap (index.php)
• Arquivo principal da aplicação;
• Define todos os caminhos onde os arquivos estão
armazenados, e todos os componentes que a
aplicação utilizar;
• Responsável por inicializar a aplicação, ele invoca
os arquivos de controlador que são responsáveis
pelo funcionamento da aplicação.
index.php (Bootstrap)
<?php
/** Identifica o sistema operacional do servidor, considerando que podem ser
Windows ou Linux */
$operationalSystem = stripos($_SERVER['SERVER_SOFTWARE'],'win32') !==
FALSE ? 'WINDOWS' : 'LINUX';
$pathSeparator = $operationalSystem == 'WINDOWS' ? ';' : ':';
/** Configura o caminho a ser procurado em todos os includes */
$path = $pathSeparator . 'library';
$path .= $pathSeparator . 'application' . DIRECTORY_SEPARATOR . 'models';
$path .= $pathSeparator . 'application' . DIRECTORY_SEPARATOR .
'controllers';
set_include_path(get_include_path() . $path);
/** Zend_Loader_Autoloader carrega arquivos, classes e recursos*/
require_once('Zend/Loader/Autoloader.php');
/** Inicializa o autoloader */
$autoloader = Zend_Loader_Autoloader::getInstance();
/** Configurar para que outras classes sem namespace sejam incluidas */
$autoloader->setFallbackAutoloader(true);
index.php (Bootstrap)
/** Parte das Visões */
/** Cria um novo objeto do tipo view */
$view = new Zend_View();
$view->setEncoding('UTF-8');
$view->setEscape('htmlentities');
/** Definindo diretório onde estarão as views */
$view->setBasePath('./application/views/');
/** Registra na memória o objeto $view */
Zend_Registry::set('view', $view);
/** Configura o controlador do projeto, que por acaso, é o index.php */
$baseUrl = substr($_SERVER['PHP_SELF'], 0, strpos($_SERVER['PHP_SELF'],
'/index.php'));
/** Cria uma nova instância da classe controladora */
$frontController = Zend_Controller_Front::getInstance();
/** Configura o endereço do controlador do projeto */
$frontController->setBaseUrl($baseUrl);
/** Indica o diretório onde estão os outros controladores da aplicação */
$frontController->setControllerDirectory('./application/controllers');
/** O controlador deve tratar as excessões */
$frontController->throwExceptions(true);
index.php (Bootstrap)
/** Carrega configurações da base de dados.
* do arquivo config.ini na sessão database */
$config = new Zend_Config_Ini('./application/configs/config.ini', 'database');
/** Registra na memória a variável config */
Zend_Registry::set('config', $config);
/** Configura a conexão com a base de dados, pegando as variáveis do arquivo
de configuração */
$db = Zend_Db::factory($config->db->adapter, $config->db->config->toArray());
Zend_Db_Table_Abstract::setDefaultAdapter($db);
/** Registra a variável db */
Zend_Registry::set('db',$db);
/** Configura o formato para data */
date_default_timezone_set("America/Sao_Paulo");
/** Executa o controlador do projeto
* Ele Irá receber todas as requisições */
$frontController->dispatch();
?>
IndexController
<?php
class IndexController extends Zend_Controller_Action
{
public function indexAction()
{
$this->view->assign('data', date('d/m/Y'));
}
}
?>
index.phtml
<html>
<head>
<title>Hello World</title>
</head>
<body>
<p>Olá, hoje é dia <?=$this->data?>.</p>
</body>
</html>
.htaccess (URL’s Amigáveis / Permissões)
RewriteEngine on
RewriteRule .* index.php
php_flag magic_quotes_gpc off
php_flag register_globals off
Arquivo: .htaccess
deny from all
Arquivo: application/.htaccess
RewriteEngine off
Arquivo: library/.htaccess
Arquivo: public/.htaccess
URL’s
http://localhost/ Classe: IndexController
Método: indexAction()
http://localhost/produtos Classe: ProdutosController
Método: indexAction()
http://localhost/produtos/cadastro Classe: ProdutosController
Método: cadastroAction()
http://localhost/loja-virtual Classe: LojaVirtualController
Método: indexAction()
config.ini
[database]
db.adapter = PDO_MYSQL
db.config.host = localhost
db.config.username = root
db.config.password = root
db.config.dbname = nome_banco
Arquivo: application/configs/config.ini
DAO (Zend_Db_Table)
<?php
class Produto extends Zend_Db_Table
{
protected $_name = “tb_produto”;
}
?>
Arquivo: application/models/Produto.php
Insert
<?php
$dao = new Produto();
$dados = array(
‘titulo’ => ‘Blablablabla’,
‘descricao’ => ‘Nononononono’
);
$dao->insert($dados);
?>
Select
<?php
$dao = new Produto();
$sql = $dao->select()
->from($dao, array(‘titulo’,’descricao’))
->order(‘titulo’);
$dados = $dao->fetchAll($sql)->toArray();
?>
Update
<?php
$dao = new Produto();
$dados = array(
‘titulo’ => ‘Blablablabla’,
‘descricao’ => ‘Nononononono’
);
$where = $dao->getAdapter()->quoteInto(‘id = ?’, 10);
$dao->update($dados, $where);
?>
Delete
<?php
$dao = new Produto();
$sql = $dao->getAdapter()->quoteInto(‘id = ?’,
10);
$dao->delete($sql);
?>
Dúvidas ?
Evandro Klimpel Balmant
@EvandroBalmant
http://www.blogalizado.com.br

Weitere ähnliche Inhalte

Was ist angesagt?

Desenvolvimento web com CodeIgniter
Desenvolvimento web com CodeIgniterDesenvolvimento web com CodeIgniter
Desenvolvimento web com CodeIgniterPedro Junior
 
Começando com Zend Framework 2
Começando com Zend Framework 2Começando com Zend Framework 2
Começando com Zend Framework 2Cezar Souza
 
Introdução ao framework CodeIgniter
Introdução ao framework CodeIgniterIntrodução ao framework CodeIgniter
Introdução ao framework CodeIgniterAnderson Gonçalves
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2Thyago Maia
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Vinícius de Paula
 
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1Thyago Maia
 
Minicurso code igniter aula 2
Minicurso code igniter   aula 2Minicurso code igniter   aula 2
Minicurso code igniter aula 2lfernandomcj
 
Aula09 phonegap storage_connection
Aula09 phonegap storage_connectionAula09 phonegap storage_connection
Aula09 phonegap storage_connectionRoberson Alves
 
Introducao ao Spring Web MVC
Introducao ao Spring Web MVCIntroducao ao Spring Web MVC
Introducao ao Spring Web MVCEder Magalhães
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 4 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 4 - 2019.1Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 4 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 4 - 2019.1Thyago Maia
 
Introdução à MEAN Stack
Introdução à MEAN StackIntrodução à MEAN Stack
Introdução à MEAN StackBruno Catão
 
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...Tchelinux
 
RubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direitoRubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direitoCezinha Anjos
 

Was ist angesagt? (20)

Desenvolvimento web com CodeIgniter
Desenvolvimento web com CodeIgniterDesenvolvimento web com CodeIgniter
Desenvolvimento web com CodeIgniter
 
Começando com Zend Framework 2
Começando com Zend Framework 2Começando com Zend Framework 2
Começando com Zend Framework 2
 
Introdução ao framework CodeIgniter
Introdução ao framework CodeIgniterIntrodução ao framework CodeIgniter
Introdução ao framework CodeIgniter
 
PHP e Redis
PHP e RedisPHP e Redis
PHP e Redis
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.
 
Minicurso Yii2
Minicurso Yii2Minicurso Yii2
Minicurso Yii2
 
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
 
Minicurso code igniter aula 2
Minicurso code igniter   aula 2Minicurso code igniter   aula 2
Minicurso code igniter aula 2
 
Aula09 phonegap storage_connection
Aula09 phonegap storage_connectionAula09 phonegap storage_connection
Aula09 phonegap storage_connection
 
Jaas apresentado
Jaas apresentadoJaas apresentado
Jaas apresentado
 
Estrutura do Projeto
Estrutura do ProjetoEstrutura do Projeto
Estrutura do Projeto
 
Estrutura do Projeto
Estrutura do ProjetoEstrutura do Projeto
Estrutura do Projeto
 
Introducao ao Spring Web MVC
Introducao ao Spring Web MVCIntroducao ao Spring Web MVC
Introducao ao Spring Web MVC
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 4 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 4 - 2019.1Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 4 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 4 - 2019.1
 
Introdução à MEAN Stack
Introdução à MEAN StackIntrodução à MEAN Stack
Introdução à MEAN Stack
 
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...
 
Modulos SNEP
Modulos SNEPModulos SNEP
Modulos SNEP
 
RubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direitoRubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direito
 
Python 06
Python 06Python 06
Python 06
 

Ähnlich wie Introdução ao Zend Framework

Introdução ao zend framework
Introdução ao zend frameworkIntrodução ao zend framework
Introdução ao zend frameworkMarcos Oliveira
 
ZF Básico - 1. Introdução
ZF Básico - 1. IntroduçãoZF Básico - 1. Introdução
ZF Básico - 1. IntroduçãoMarcos Bezerra
 
12 factor in the PHP world
12 factor in the PHP world12 factor in the PHP world
12 factor in the PHP worldElton Minetto
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks phpIgor Moura
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntDenis L Presciliano
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntDenis L Presciliano
 
ZF Básico - 3. Quick Start
ZF Básico - 3. Quick StartZF Básico - 3. Quick Start
ZF Básico - 3. Quick StartMarcos Bezerra
 
Apostila Zend Framework
Apostila Zend FrameworkApostila Zend Framework
Apostila Zend FrameworkFernando Palma
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...BrunoSouza617
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Integração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlIntegração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlDiego Tremper
 
Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009silva.edgar
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao dockerBenicio Ávila
 
ZF Básico - 4. Controle e Visão
ZF Básico - 4. Controle e VisãoZF Básico - 4. Controle e Visão
ZF Básico - 4. Controle e VisãoMarcos Bezerra
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Lucas Augusto Carvalho
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da ZendDomingos Teruel
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPArlindo Santos
 

Ähnlich wie Introdução ao Zend Framework (20)

Introdução ao zend framework
Introdução ao zend frameworkIntrodução ao zend framework
Introdução ao zend framework
 
ZF Básico - 1. Introdução
ZF Básico - 1. IntroduçãoZF Básico - 1. Introdução
ZF Básico - 1. Introdução
 
12 factor in the PHP world
12 factor in the PHP world12 factor in the PHP world
12 factor in the PHP world
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks php
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache Ant
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache Ant
 
Contextos
ContextosContextos
Contextos
 
Palestra
PalestraPalestra
Palestra
 
ZF Básico - 3. Quick Start
ZF Básico - 3. Quick StartZF Básico - 3. Quick Start
ZF Básico - 3. Quick Start
 
Apostila Zend Framework
Apostila Zend FrameworkApostila Zend Framework
Apostila Zend Framework
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Integração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlIntegração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControl
 
Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009
 
Docker
DockerDocker
Docker
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
ZF Básico - 4. Controle e Visão
ZF Básico - 4. Controle e VisãoZF Básico - 4. Controle e Visão
ZF Básico - 4. Controle e Visão
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da Zend
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 

Introdução ao Zend Framework

  • 2. Framework ? “Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.” FAYAD e SCHMIDT “Em desenvolvimento de software, um framework ou arcabouço é uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica.” Wikipédia
  • 3. DRY Don‘t repeat yourself “Não se repita” “É um princípio de desenvolvimento de software com vista a reduzir a repetição de informações de todos os tipos.” Wikipédia
  • 8. Configuração Básica Nome do Projeto Diretório da Aplicação Arquivos de Configuração Controladoras Controladora Principal Models Views Templates Templates da Controladora Index Template do Método indexAction() Definição de permissão de acesso Arquivos de Documentação Bibliotecas Classes do Zend Framework Definição de permissão de acesso Arquivos Públicos Folhas de estilo Imagens JavaScrips Definição de permissão de acesso Definição de permissão de acesso Bootstrap
  • 9. Bootstrap (index.php) • Arquivo principal da aplicação; • Define todos os caminhos onde os arquivos estão armazenados, e todos os componentes que a aplicação utilizar; • Responsável por inicializar a aplicação, ele invoca os arquivos de controlador que são responsáveis pelo funcionamento da aplicação.
  • 10. index.php (Bootstrap) <?php /** Identifica o sistema operacional do servidor, considerando que podem ser Windows ou Linux */ $operationalSystem = stripos($_SERVER['SERVER_SOFTWARE'],'win32') !== FALSE ? 'WINDOWS' : 'LINUX'; $pathSeparator = $operationalSystem == 'WINDOWS' ? ';' : ':'; /** Configura o caminho a ser procurado em todos os includes */ $path = $pathSeparator . 'library'; $path .= $pathSeparator . 'application' . DIRECTORY_SEPARATOR . 'models'; $path .= $pathSeparator . 'application' . DIRECTORY_SEPARATOR . 'controllers'; set_include_path(get_include_path() . $path); /** Zend_Loader_Autoloader carrega arquivos, classes e recursos*/ require_once('Zend/Loader/Autoloader.php'); /** Inicializa o autoloader */ $autoloader = Zend_Loader_Autoloader::getInstance(); /** Configurar para que outras classes sem namespace sejam incluidas */ $autoloader->setFallbackAutoloader(true);
  • 11. index.php (Bootstrap) /** Parte das Visões */ /** Cria um novo objeto do tipo view */ $view = new Zend_View(); $view->setEncoding('UTF-8'); $view->setEscape('htmlentities'); /** Definindo diretório onde estarão as views */ $view->setBasePath('./application/views/'); /** Registra na memória o objeto $view */ Zend_Registry::set('view', $view); /** Configura o controlador do projeto, que por acaso, é o index.php */ $baseUrl = substr($_SERVER['PHP_SELF'], 0, strpos($_SERVER['PHP_SELF'], '/index.php')); /** Cria uma nova instância da classe controladora */ $frontController = Zend_Controller_Front::getInstance(); /** Configura o endereço do controlador do projeto */ $frontController->setBaseUrl($baseUrl); /** Indica o diretório onde estão os outros controladores da aplicação */ $frontController->setControllerDirectory('./application/controllers'); /** O controlador deve tratar as excessões */ $frontController->throwExceptions(true);
  • 12. index.php (Bootstrap) /** Carrega configurações da base de dados. * do arquivo config.ini na sessão database */ $config = new Zend_Config_Ini('./application/configs/config.ini', 'database'); /** Registra na memória a variável config */ Zend_Registry::set('config', $config); /** Configura a conexão com a base de dados, pegando as variáveis do arquivo de configuração */ $db = Zend_Db::factory($config->db->adapter, $config->db->config->toArray()); Zend_Db_Table_Abstract::setDefaultAdapter($db); /** Registra a variável db */ Zend_Registry::set('db',$db); /** Configura o formato para data */ date_default_timezone_set("America/Sao_Paulo"); /** Executa o controlador do projeto * Ele Irá receber todas as requisições */ $frontController->dispatch(); ?>
  • 13. IndexController <?php class IndexController extends Zend_Controller_Action { public function indexAction() { $this->view->assign('data', date('d/m/Y')); } } ?>
  • 15. .htaccess (URL’s Amigáveis / Permissões) RewriteEngine on RewriteRule .* index.php php_flag magic_quotes_gpc off php_flag register_globals off Arquivo: .htaccess deny from all Arquivo: application/.htaccess RewriteEngine off Arquivo: library/.htaccess Arquivo: public/.htaccess
  • 16. URL’s http://localhost/ Classe: IndexController Método: indexAction() http://localhost/produtos Classe: ProdutosController Método: indexAction() http://localhost/produtos/cadastro Classe: ProdutosController Método: cadastroAction() http://localhost/loja-virtual Classe: LojaVirtualController Método: indexAction()
  • 17. config.ini [database] db.adapter = PDO_MYSQL db.config.host = localhost db.config.username = root db.config.password = root db.config.dbname = nome_banco Arquivo: application/configs/config.ini
  • 18. DAO (Zend_Db_Table) <?php class Produto extends Zend_Db_Table { protected $_name = “tb_produto”; } ?> Arquivo: application/models/Produto.php
  • 19. Insert <?php $dao = new Produto(); $dados = array( ‘titulo’ => ‘Blablablabla’, ‘descricao’ => ‘Nononononono’ ); $dao->insert($dados); ?>
  • 20. Select <?php $dao = new Produto(); $sql = $dao->select() ->from($dao, array(‘titulo’,’descricao’)) ->order(‘titulo’); $dados = $dao->fetchAll($sql)->toArray(); ?>
  • 21. Update <?php $dao = new Produto(); $dados = array( ‘titulo’ => ‘Blablablabla’, ‘descricao’ => ‘Nononononono’ ); $where = $dao->getAdapter()->quoteInto(‘id = ?’, 10); $dao->update($dados, $where); ?>
  • 22. Delete <?php $dao = new Produto(); $sql = $dao->getAdapter()->quoteInto(‘id = ?’, 10); $dao->delete($sql); ?>
  • 23. Dúvidas ? Evandro Klimpel Balmant @EvandroBalmant http://www.blogalizado.com.br