Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZF] 'appnamespace' w application.ini, Co to za cudo ?
Sajrox
post
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 7
Dołączył: 9.10.2007
Skąd: Poznań

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


Witam,

Czy może ktoś wytłumaczyć jakie zastosowanie ma nowa opcja wprowadzona w ZF 1.10 w pliku application.ini

  1. appnamespace = "Application"


Jakie ma ono zastosowanie ? (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Stwórz formularz w domyślnym module, to się dowiesz (IMG:style_emoticons/default/winksmiley.jpg)
W skrócie jest to przestrzeń nazw dla klas w Twojej aplikacji.
Go to the top of the page
+Quote Post
Sajrox
post
Post #3





Grupa: Zarejestrowani
Postów: 254
Pomógł: 7
Dołączył: 9.10.2007
Skąd: Poznań

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


Nie takiej odp się spodziewałem (IMG:style_emoticons/default/winksmiley.jpg)

Teraz kombinuje z 'autoloaderNamespaces'
Chce troche zmienić aplikacje aby klasa Model_DbTable_Users() znajdująca sie w application/models/DbTable działała bo na razie kod:

  1. $modUsers = new Model_DbTable_Users();


wywala:
Kod
Fatal error: Class 'Model_DbTable_Users' not found in F:\wamp\www\blog\application\MODULES\admin\controllers\IndexController.php  on line 12


Działa tylko jak do Bootstrapa dodam:
  1. protected function _initAutoload()
  2. {
  3. $autoloader = new Zend_Application_Module_Autoloader(array(
  4. 'namespace' => '',
  5. 'basePath' => dirname(__FILE__),
  6. ));
  7.  
  8. return $autoloader;
  9. }


Jednak chciałbym tam dodawać jak najmniej. Ma ktoś jakieś pomysły ?

Ten post edytował Sajrox 31.05.2010, 19:41:30
Go to the top of the page
+Quote Post
batman
post
Post #4





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Wywal metodę _initAutoload z pliku Bootstrap. Jest ona zbędna. Jeśli chcesz korzystać z modułów, w zupełności wystarczy jak dodasz w pliku application.ini takie coś:
  1. resources.modules = ""
  2. resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"


Twój kod zadziała, jeśli przed nazwę klasy dodasz przestrzeń nazw Application, czyli Application_Model_DbTable_Users. Nazwy i położenia pliku nie musisz zmieniać.
Go to the top of the page
+Quote Post
zend
post
Post #5





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Możesz też użyć $autoloader->setFallbackAutoloader(true); i nie będziesz się musiał przejmować dodawaniem przestrzeni
Go to the top of the page
+Quote Post
batman
post
Post #6





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Cytat(zend @ 31.05.2010, 23:57:00 ) *
Możesz też użyć $autoloader->setFallbackAutoloader(true); i nie będziesz się musiał przejmować dodawaniem przestrzeni

Jeśli korzysta się z Zend_Tool, to "przestrzeń nazw" dodawana jest automatycznie.
Go to the top of the page
+Quote Post
Sajrox
post
Post #7





Grupa: Zarejestrowani
Postów: 254
Pomógł: 7
Dołączył: 9.10.2007
Skąd: Poznań

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


no to nic tylko czekać na ZF2 i prawdziwe przestrzenie nazw (IMG:style_emoticons/default/smile.gif)
Ciekawie jak to rozwiążą w nowej wersji.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.12.2025 - 23:53