Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] Kilka pytań
Forum PHP.pl > Forum > PHP > Frameworki
slawolX
Otoż jako klejny chętny do skorzystania z Zenda napotkalem na kilka problemów.


Pierwszy problem:
  1. $redirector->setGoTo('lista', 'produkty', 'admin');


Zamiast przenieśc mnie do:
../public/admin/produkty/lista
przenosi do:
../public/produkty/lista/module/admin

W tym samym trace kontakt z modułem admin :/

Tak samo jest z innymi metodami któe generują jakieś linki sad.gif


Drugi problem:
Urworzyłem taką hierarchię:
| /application
|-----/modules
|----------/admin
|---------------/forms
|--------------------Form_Logowanie.php



Gdu w Kontrolerze próbuje wywołać:
  1. $form = new Form_Logowanie();


Dostaje w prezencie (i to nawt x3):
  1. Warning: include(C:\wamp\www\zend_quickstart\application/forms//Logowanie.php) [function.include]: failed to open stream: No such file or directory in C:\wamp\www\zend_quickstart\library\Zend\Loader\Autoloader\Resource.php on line 176
  2.  
  3. Warning: include() [function.include]: Failed opening 'C:\wamp\www\zend_quickstart\application/forms//Logowanie.php' for inclusion (include_path='.;C:\wamp\www\zend_quickstart/library;C:\wamp\www\zend_quickstart\application.;C:\php5\pear;C:\wamp\www\zend_quickstart\application/MODULES/admin/controllers;C:\wamp\www\zend_quickstart\application/MODULES/admin;C:\wamp\www\zend_quickstart\application/MODULES/admin/forms') in C:\wamp\www\zend_quickstart\library\Zend\Loader\Autoloader\Resource.php on line 176
  4.  
  5. Fatal error: Class 'Form_Logowanie' not found in C:\wamp\www\zend_quickstart\application\MODULES\admin\controllers\IndexController.php on line 17


Z błędu wynika że szukało także w C:\wamp\www\zend_quickstart\application/MODULES/admin/forms i nic tam nie znalazło :/
Mimo tego że włąśnie tam jest ta klasa o nazwie Form_Logowanie.

Czy klasy Form_ trzeba jakoś dodatkowo skonfigurować?
seth-kk
1. sproboj setGotoRoute(array $urlOptions = array(), $name = null, $reset = false, $encode = true)
2. zwroc uwage na url w pierwszej linijce C:\wamp\www\zend_quickstart\application/forms//Logowanie.php
nie sadzisz ze lepiej wygladaloby to tak
| /application
|-----/modules
|----------/admin
|---------------/Forms
|--------------------Logowanie.php
include_path wskazujacy tylko na folder admin
i wywolanie
  1. $form = new Forms_Logowanie();

Zendowe klasy inkludujace pliki tlumacza '_' na '/' dlatego jesli uzywasz podkreslnika w nazwie pliku to maja problem ze znalezieniem go, podkreslnik sluzy do symulowania przestrzeni nazw
slawolX
1. Działa smile.gif Dzięki wielkie!
2. Nie działa tak jak chce sad.gif

Działa dopiero jak katalog Form/ przeniose do katalogu /application

Jednak gdy przeniose /Form do jednego z modułu admin lub defaul to już jest problem.
Taki sam problem mam z widokami teraz że nie widzi ich w modułach ale widzi jak przeniose katalog /view do katalogu /application/
:/

Drugi problem rozwiązany:

Wystarczy że w Bootstrap.php wstawiłem:
  1. protected function _initAutoload()
  2. {
  3. $autoloader = new Zend_Loader_Autoloader_Resource(array(
  4. 'namespace' => '',
  5. 'basePath' => APPLICATION_PATH . '/MODULES/default',
  6. 'resourceTypes' => array(
  7. 'form' => array(
  8. 'path' => 'forms',
  9. 'namespace' => 'Form',
  10. ),
  11. ),
  12. ));
  13.  
  14. $autoloader = new Zend_Loader_Autoloader_Resource(array(
  15. 'namespace' => 'Admin',
  16. 'basePath' => APPLICATION_PATH . '/MODULES/admin',
  17. 'resourceTypes' => array(
  18. 'form' => array(
  19. 'path' => 'forms',
  20. 'namespace' => 'Form',
  21. ),
  22. ),
  23. ));
  24.  
  25. return $autoloader;
  26. }


Tutajk można także zdefiniować ścieżki dla modeli, widokó itp.. smile.gif
seth-kk
@form: moze to dlatego ze w incoude_path uzywasz slashy podczas gdy windows kozysta z backslashy?
@view: wyglada na zle skonfigurowanie frameworka, $frontController->addModuleDirectory() lub Zend_View->addScriptPath() powinno rozwiazac problem
@nowy fragment kodu - dlaczego nadpisujesz sobie $autoloader?
slawolX
Problem już rozwiązany dzięki smile.gif
Odp w moim poście powyżej.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.