Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZF]Problem z dostępem do klas w public
Wolfie
post
Post #1





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

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


Witam

Postawiłem sobie ZendFramework 1.10, za pomocą konsoli zf stworzyłem nowy projekt,

W pliku public napisałem sobie prosty skrypcik symulujący bazę danych winksmiley.jpg

  1. require_once 'Zend/Loader.php';
  2. Zend_Loader::registerAutoload();
  3.  
  4.  
  5. function getData() {
  6.  
  7. $rows = array('0' => array('id' => '1', 'name' => 'Walden', 'author' => 'H.D. Thoreau', 'descr' => '"Walden" is the classic account of two years spent by Henry David Thoreau living at Walden Pond near Concord, Massachusetts.', 'type' => 'book'),
  8. '1' => array('id' => '2', 'name' => 'Barry Lyndon', 'author' => 'Stanley Kubrick', 'descr' => 'Thackerays tale of a roguishly charming 18th century Englishman, card shark and con-man whose good fortune and luck finally run out.', 'type' => 'dvd'),
  9. '2' => array('id' => '3', 'name' => 'White Blood Cells', 'author' => 'The White Stripes', 'descr' => 'The much anticipated third album by Detroits critically acclaimed brother and sister duo.', 'type' => 'cd'));
  10.  
  11. $json = Zend_Json::encode($rows);
  12. echo $json;
  13. }
  14.  
  15. switch ($_POST['method']) {
  16. case 'POST':
  17. getData();
  18. break;
  19. }


No i teraz sedno:

Zwróćcie uwagę na dwie pierwsze linijki skryptu.

Gdy odpalam skrypt dostaję komunikat :

Cytat
Zend_Loader::Zend_Loader::registerAutoload is deprecated


Gdy używam Zend_Loader_Autoloader::getInstance(); dostaję komunikat że klasa Zend_Loader_Autoloader nie istnieje

Druga sprawa, gdy skasuje obie linijki to dostaję komunikat ze klasa Zend_Json nie istnieje

No i teraz pytanie:

Dlaczego w publicu nie mam dostępu do klas biblioteki ? chyba nie powinno byc w tym miejscu sytuacji ze musze inkludowac library za pomocą require_once bo całą robote powinien odwalac application.ini ?

No i dlaczego jak juz mam tę bibliotekę to nei ma klasy Zend_Loader_Autoloader mimo ze jest komunikat zeby jej uzyć?

Ten post edytował Wolfie 13.06.2010, 16:49:24
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
LBO
post
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


Cytat(Wolfie @ 13.06.2010, 17:46:58 ) *
Gdy używam Zend_Loader_Autoloader::getInstance(); dostaję komunikat że klasa Zend_Loader_Autoloader nie istnieje


A zainkludowałeś ją?
Go to the top of the page
+Quote Post
skowron-line
post
Post #3





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


A napewno masz dobrą ścieżkę do pliku questionmark.gif?


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
Wolfie
post
Post #4





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

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


Cytat(LBO @ 13.06.2010, 19:59:26 ) *
A zainkludowałeś ją?



Zainkludowałem poprzez application.ini, wiec rozumiem że ta biblioteka powinna być dostępna, ale po pewnych przemyśleniach doszedłem do wniosku że błąd może być gdzie inidziej, a mianowicie tu, że wszystko w zendzie idzie przez index.php a plik data.php który znajduje się w pierwszym poście jest jakby oderwany od całości i wisi sobie poprostu w katalogu public, dlatego tez nie ma dostępu do klas Zenda.

Dobrze rozumiuję ?

Ten post edytował Wolfie 14.06.2010, 10:31:51
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Gdy używam Zend_Loader_Autoloader::getInstance(); dostaję komunikat że klasa Zend_Loader_Autoloader nie istnieje

No bo robisz require
require_once 'Zend/Loader.php';
zas twoja klasa znajduje sie w:
require_once 'Zend/Loader/Autoloader.php';
smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Aktualny czas: 19.08.2025 - 04:24