Mam problem z ZF. Chce żeby adapter $db był dostępny w całej aplikacji.
Zrobiłem plik config.ini
[general] db.adapter= PDO_MYSQL db.config.host= localhost db.config.username= xx db.config.password= pxxx db.config.dbname= xxx
w index.php mam takie rzeczy (
<?php date_default_timezone_set('Europe/London'); . PATH_SEPARATOR . './application/models/' include "Zend/Loader.php"; Zend_Loader::loadClass('Zend_Controller_Front'); Zend_Loader::loadClass('Zend_Config_Ini'); Zend_Loader::loadClass('Zend_Registry'); Zend_Loader::loadClass('Zend_Db'); Zend_Loader::loadClass('Zend_Db_Table'); Zend_Loader::loadClass('Zend_Paginator'); Zend_Loader::loadClass('Zend_Paginator_Adapter_DbSelect'); Zend_Loader::loadClass('Zend_View_Helper_PaginationControl'); // setup controller $frontController = Zend_Controller_Front::getInstance(); $frontController->throwExceptions(true); $frontController->setControllerDirectory('./application/controllers'); //// load configuration $config = new Zend_Config_Ini('./application/config.ini','general'); $registry=Zend_Registry::getInstance(); $registry->set('config','$config'); /// setup database $db=Zend_Db::factory($config->db->adapter,$config->db->config->toArray()); Zend_Db_Table::setDefaultAdapter($db); // run! $frontController->dispatch();
IndexContoroller.php
<?php class IndexController extends Zend_Controller_Action { function init(){ $this->view->baseUrl=$this->_request->getBaseUrl(); Zend_Loader::loadClass('Movie'); } function indexAction() { $movie=new Movie(); $this->view->title="Home Page"; $itemsPerPage=20; $adapter = new Zend_Paginator_Adapter_DbSelect($db->select()->from('dle_post')); $paginator = new Zend_Paginator($adapter); $paginator->setItemCountPerPage($itemsPerPage); $paginator->setCurrentPageNumber($this->_getParam('page')); $this->view->paginator=$paginator; } }
errory
Notice: Undefined variable: db in /var/www/mvzend/application/controllers/IndexController.php on line 20 Fatal error: Call to a member function select() on a non-object in /var/www/mvzend/application/controllers/IndexController.php on line 20