O banco de dados que estou usando aqui é o MySql, tenho apenas uma tabela chamada usuario, com 2 campos, id e nome.Fiz essa tabela apenas para mostrar como pegar os dados de uma tabela e mostrar na tela.
Vamos no arquivo application.ini que fica na pasta configs, nesse arquivo vamos colocar o seguinte código
- resources.db.adapter = "pdo_mysql"
- resources.db.params.host = "localhost"
- resources.db.params.username = "root"
- resources.db.params.password = ""
- resources.db.params.dbname = "blog"
esse é o código que estou usando, aqui está o link para você saber mais sobre a configuração
http://framework.zend.com/manual/en/zend.config.adapters.ini.html
o proximo passo é fazer a conexão, mas vou fazer de uma maneira diferente, vou criar uma pasta chamada models e dentro dela vou criar mais 3 pastas como nome de Dao,Table,Entity.A estrutura ficou assim
Agora vamos para a pasta table, vamos criar o arquivo com nome Usuario e nesse arquivo colque o código
- class Application_Model_Table_Usuario extends Zend_Db_Table_Abstract {
- protected $_name = 'usuario';
- protected $_primary = 'id';
- }
a variável $_name é o nome da tabela e $_primary é a chave primaria.
vamos na pasta entity e criar o arquivo Usuario e nesse arquivo coloque o código
- class Application_Model_Entity_Usuario {
- private $id;
- private $nome;
- public function getId() {
- return $this->id;
- }
- public function setId($id) {
- $this->id = $id;
- }
- public function getNome() {
- return $this->nome;
- }
- public function setNome($nome) {
- $this->nome = $nome;
- }
- }
esses são os getter e os setter, no exemplo que estou dando não vou precisar usar nenhum get ou set, caso você queira fazer alguma coisa diferente está ai o exemplo.
agora na pasta Dao vamos criar o arquivo também com o nome de usuario com o seguinte código
- class Application_Model_Dao_Usuario {
- public function buscarNome(){
- $this->table = new Application_Model_Table_Usuario();
- return $this->table->fetchAll();
- }
- }
agora vamos no controller, nesse exemplo estou fazendo tudo no indexController
- class IndexController extends Zend_Controller_Action
- {
- public function init()
- {
- /* Initialize action controller here */
- }
- public function indexAction()
- {
- $this->result = new Application_Model_Dao_Usuario();
- $this->view->teste = $this->result->buscarNome();
- }
- }
agora só falta mostrarmos o resultado na tela, desse jeito
- <?php
- foreach ($this->teste as $key):
- ?>
- <?php
- endforeach;
- ?>
dessa maneira já é possível acessar o banco de dados com o Zend, existem outras maneiras de mostrar um dado que vem do banco, mas é desse jeito que faço atualmente.
Espero ter ajudado e até a próxima
Cara valeu fiquei 1 mês procurando algum post que me falasse como conecta realmente no banco de dados
ResponderExcluirContinue com os artigos e parabéns