Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Zend Framework - Zend_Db::factory - środowisko
kielich
post 23.02.2010, 19:03:35
Post #1





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Potrzebuje pomocy mianowicie już od 2 dni czytam próbuje zmieniam itd. postanowiłem zwrócić się o pomoc tutaj.
A więc
chce ustawić sobie środowisko Zend_Db::factory i wywala mi błędy .
Kod
[b]Fatal error[/b]:  Call to a member function toArray() on a non-object in [b]xxxxx[/b] on line [b]25[/b]


O to kod mojego index.php
  1. ...
  2. /** Autoload ZEND */
  3. require_once 'Zend/Loader/Autoloader.php';
  4. Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);
  5.  
  6. // setup database
  7. $config = new Zend_Config_Ini('../application/configs/application.ini', 'production');
  8. Zend_Registry::set('config', $config);
  9.  
  10. // setup database
  11. $db = Zend_Db::factory($config->resources->adapter,
  12. $config->resources->params->toArray());
  13. Zend_Db_Table::setDefaultAdapter($db);
  14. Zend_Registry::set('db', $db);
  15. ...


oraz *.INI
  1. [production]
  2. phpSettings.display_startup_errors = 0
  3. phpSettings.display_errors = 0
  4. phpSettings.date.timezone = "Europe/London"
  5. includePaths.library = APPLICATION_PATH "/../library"
  6. bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
  7. bootstrap.class = "Bootstrap"
  8. appnamespace = "Application"
  9. resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
  10. resources.frontController.params.displayExceptions = 0
  11.  
  12. resources.db.adapter = "MYSQLi"
  13. resources.db.params.host = "localhost"
  14. resources.db.params.username = "xxx"
  15. resources.db.params.password = "xxx"
  16. resources.db.params.dbname = "xxx"
  17. resources.db.params.charset = "utf8"
  18. resources.db.isDefaultTableAdapter = true
  19. ...


Bede niezmiernie wdzięczny za pomoc ...

Ten post edytował kielich 23.02.2010, 19:04:57


--------------------
Życie jest jak SESJA kiedyś wygaśnie ....

Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł
Go to the top of the page
+Quote Post
mortus
post 23.02.2010, 19:16:21
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Zastąp to:
  1. // setup database
  2. $db = Zend_Db::factory($config->resources->adapter,
  3. $config->resources->params->toArray());
  4. Zend_Db_Table::setDefaultAdapter($db);
  5. Zend_Registry::set('db', $db);

tym:
  1. // setup database
  2. $db = Zend_Db::factory($config->resources->db->adapter,
  3. $config->resources->db->params->toArray());
  4. Zend_Db_Table::setDefaultAdapter($db);
  5. Zend_Registry::set('db', $db);

Powinno zadziałać.
Go to the top of the page
+Quote Post
kielich
post 23.02.2010, 19:22:59
Post #3





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Działa kurcze wielkie dzięki

Powiedz mi proszę jeszcze dlaczego Tak właśnie ma być jak napisał questionmark.gif!?!
możemy mi to wytłumaczyć questionmark.gif


--------------------
Życie jest jak SESJA kiedyś wygaśnie ....

Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł
Go to the top of the page
+Quote Post
mortus
post 23.02.2010, 19:39:15
Post #4





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Wynika to z budowy pliku ini. Dla przykładu:
Kod
[production]
resources.db.params.host = "localhost"

po wczytaniu do zmiennej $config za pomocą Zend_Config_Ini możemy wyłuskać poprzez:
  1. $config = new Zend_Config_Ini('plik/z/konfiguracja','sekcja');
  2. $host = $config->resources->db->params->host;

Wynika to z budowy klasy Zend_Config_Ini. Wczytuje ona dane rekursywnie, traktując kropkę jako początek zagnieżdżenia, przy czym każdy zagnieżdżony parametr jest obiektem klasy Zend_Config_Ini (stąd strzałeczki ->). Wystarczy?

Ten post edytował mortus 23.02.2010, 19:47:49
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: 15.07.2025 - 17:49