Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework]Moduł - dodawanie formularza
Forum PHP.pl > Forum > PHP > Frameworki
Bryla
Witam, stworzyłem taką oto strukturę plików:


W akcji register modułu User chciałbym stworzyć nowy obiekt formularza (forms/Register.php). Niestety po dodaniu takiej linijki:
  1. $form = new User_Form_Register();

dostaję błąd o tym, że nie znaleziono klasy.

Część pliku application.ini:
  1. resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
  2. resources.frontController.defaultModule = "default"
  3. resources.modules =


Jak widać moduł jest wykrywany poprawnie, ale sam formularz już nie :/
Bryla
Dzięki za pomoc. Pomogło dodanie w Bootstrap.php takiego kodu:
  1. protected function _initAutloadModules() {
  2. $modules = array(
  3. 'default',
  4. 'user'
  5. );
  6.  
  7. foreach($modules as $module) {
  8. $loader = new Zend_Application_Module_Autoloader(array(
  9. 'namespace' => ucfirst($module),
  10. 'basePath' => APPLICATION_PATH . '/modules/' . strtolower($module),
  11. ));
  12. }
  13. }

Jednak chyba przeniosę wszystko do application.ini

Mam teraz kolejne pytanie związane z logowaniem użytkownika. Autoryzację wykonuję przez Zend_Auth, jak dane są poprawne to zapisuję do Zend_Auth_Storage_Session. Teraz aby sprawdzić czy użytkownik jest zalogowany muszę za każdym razem dodawać kod:
  1. $auth = Zend_Auth::getInstance();
  2. if($auth->getIdentity()) {}


Mógłbym zrobić z tego funkcję helpera jednak wtedy muszę utworzyć dwa osobne helpery dla widoku oraz akcji, czyli znowu powielam kod.
Gdzie mógłbym wrzucić taką funkcję, żeby w każdym miejscu w aplikacji (akcje, widoki) mógł sprawdzać czy użytkownik jest zalogowany?

EDIT: Co myślicie o tym, aby utworzyć klasę w głównym katalogu Zenda z funkcją statyczną? Czyli klasa Zend_User z funkcją statyczną isLogin.
viking
Przykładowe rozwiązanie całego logowania http://mwop.net/blog/165-Login-and-Authent...-Framework.html

A w pierwszym wystarczy że dodasz w application.ini:
autoloaderNamespaces[] = "Twójprefiks"
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.