Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZF] adapter $db
istrd
post 21.06.2011, 17:57:42
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 3.12.2009

Ostrzeżenie: (0%)
-----


Witam.
Mam problem z ZF. Chce żeby adapter $db był dostępny w całej aplikacji.
Zrobiłem plik config.ini
  1. [general]
  2. db.adapter= PDO_MYSQL
  3. db.config.host= localhost
  4. db.config.username= xx
  5. db.config.password= pxxx
  6. db.config.dbname= xxx


w index.php mam takie rzeczy (
  1. <?php
  2. error_reporting(E_ALL|E_STRICT);
  3. date_default_timezone_set('Europe/London');
  4. set_include_path('.' . PATH_SEPARATOR . './library'
  5. . PATH_SEPARATOR . './application/models/'
  6. . PATH_SEPARATOR . get_include_path());
  7.  
  8. include "Zend/Loader.php";
  9. Zend_Loader::loadClass('Zend_Controller_Front');
  10. Zend_Loader::loadClass('Zend_Config_Ini');
  11. Zend_Loader::loadClass('Zend_Registry');
  12. Zend_Loader::loadClass('Zend_Db');
  13. Zend_Loader::loadClass('Zend_Db_Table');
  14. Zend_Loader::loadClass('Zend_Paginator');
  15. Zend_Loader::loadClass('Zend_Paginator_Adapter_DbSelect');
  16. Zend_Loader::loadClass('Zend_View_Helper_PaginationControl');
  17.  
  18.  
  19. // setup controller
  20. $frontController = Zend_Controller_Front::getInstance();
  21. $frontController->throwExceptions(true);
  22. $frontController->setControllerDirectory('./application/controllers');
  23.  
  24. //// load configuration
  25. $config = new Zend_Config_Ini('./application/config.ini','general');
  26. $registry=Zend_Registry::getInstance();
  27. $registry->set('config','$config');
  28.  
  29. /// setup database
  30. $db=Zend_Db::factory($config->db->adapter,$config->db->config->toArray());
  31. Zend_Db_Table::setDefaultAdapter($db);
  32.  
  33.  
  34. // run!
  35. $frontController->dispatch();
  36.  


IndexContoroller.php
  1. <?php
  2. class IndexController extends Zend_Controller_Action {
  3. function init(){
  4. $this->view->baseUrl=$this->_request->getBaseUrl();
  5. Zend_Loader::loadClass('Movie');
  6. }
  7. function indexAction() {
  8.  
  9. $movie=new Movie();
  10. $this->view->title="Home Page";
  11.  
  12. $itemsPerPage=20;
  13. $adapter = new Zend_Paginator_Adapter_DbSelect($db->select()->from('dle_post'));
  14. $paginator = new Zend_Paginator($adapter);
  15. $paginator->setItemCountPerPage($itemsPerPage);
  16. $paginator->setCurrentPageNumber($this->_getParam('page'));
  17. $this->view->paginator=$paginator;
  18.  
  19.  
  20.  
  21. }
  22. }

errory

  1. Notice: Undefined variable: db in /var/www/mvzend/application/controllers/IndexController.php on line 20
  2.  
  3. Fatal error: Call to a member function select() on a non-object in /var/www/mvzend/application/controllers/IndexController.php on line 20
Go to the top of the page
+Quote Post
Daimos
post 21.06.2011, 21:27:24
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


no tutaj masz błąd:
  1. $adapter = new Zend_Paginator_Adapter_DbSelect($db->select()->from('dle_post'));

A nigdzie nie pobrałeś adaptera, zamień to na:


  1. $db = Zend_Db_Table::getDefaultAdapter();
  2. $adapter = new Zend_Paginator_Adapter_DbSelect($db->select()->from('dle_post'));


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
istrd
post 21.06.2011, 21:39:34
Post #3





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 3.12.2009

Ostrzeżenie: (0%)
-----


Wielkie dzięki ;]
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 10:44