Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZF] Czy jest gdzieś dostępny przykład dot ZF, o ZF raz jeszcze
juzwa
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 10.07.2006

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


zaczęły się u mnie problemy z ZF i to dość poważne

a, że ja mimo prób nie potrafię znaleźć jakiś konkretnych przykładów - np z logowaniem, obsługą sesji to mam pytanie - prośbę o jakieś linki czy coś w tym rodzaju

ja wiem, że jest manual, ale tam te przykłady dość ubogie są - np z tego co rozumiem to jak w kontrolerze wpisuje się noRouteAction to ZF ma z tego skorzystać, gdy nie znajdzie kontrolera tymczasem u mnie jest to błąd - wziąłem to w try catch ale - nie wiem jak obsłużyć przekierowanie

kolejna sprawa
gdy jest http://localhost/prj/index/ - to nie obsługuje mi stylów itp itd
gdy jest http://localhost/prj/index - to wszystko jest OK

też nie wiem o co chodzi bo niby z kontrolera w jednym i w drugim przypadku ciągnie z tego samego kontrolera i z tej samej akcji i nie wiem czemu ścieżki w jednym widoku pasują w innym nie - w ogóle nie wiem jak to obsłużyć takie coś i o co chodzi

i jeszcze parę mniejszych lub większych drobiazgów by się znalazła - jak na razie praca z ZF to męczarnia dla mnie jest - sporo czasu straconego
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
juzwa
post
Post #2





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 10.07.2006

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


  1. <?php
  2. public function preDispatch($request)
  3. {
  4. $dispatcher = Zend_Controller_Front::getInstance()->getDispatcher();
  5. if (!$session->zalogowany)
  6. {
  7. $request->setControllerName('login')
  8. ->setActionName($dispatcher->getDefaultAction())
  9. ->setDispatched();//BEZ FALSE
  10. }
  11. }
  12. ?>


jeszcze jedna mała popraweczka do powyższego rozwiązania

teraz jest tak, że przed każdym wywołaniem kontrolera jest sprawdzane czy jest się zalogowanym - jeśli nie to kieruje do kontrolera login do akcji domyślnej (czy jak tam to sobie kto ustawi) - ale gdy ktoś nie jest zalogowany i się loguje i nawet jak poda poprawne dane to w procesie weryfikacji danych jest on dalej niezalogowany - no i jest problem ciągłego powracania do strony logowania bez względu na wszystko - bo cały czas jest się niezalogowanym i nie ma szansy aby stan ten zmienić - bo kierując kogoś do procesu weryfikacji danych jest on niezalogowany czyli trzeba go skierować do strony logowania

dlatego też przerobiłem to w następujący sposób:
1 - wykorzystałem zmienna która przechowuje nazwę ścieżki aplikacji
2 - sprawdzanie warunku czy przypadkiem akcja nie jest skierowana do kontrolera i metody weryfikującej dane - bo jeśli tak to trzeba dać szanse na zalogowanie, a jeśli nie to skierować do strony z logowaniem


  1. <?php
  2. public function preDispatch($request)
  3. {
  4. $dispatcher = Zend_Controller_Front::getInstance()->getDispatcher();
  5. $appPath=Zend::registry('appPath');//1
  6. if (!$session->zalogowany)
  7. {
  8. if($request->getRequestUri()!=$appPath.'index/login')//2
  9.  {
  10.  $request->setControllerName('login')
  11.  ->setActionName($dispatcher->getDefaultAction())
  12. ->setDispatched();
  13.  }
  14. }
  15. }
  16. ?>


nie wiem czy jest to rozwiązanie optymalne, ładne, poprawne pod względem formalnym - ale najważniejsze, że działa - ale jakby ktoś miał coś innego do zaproponowania to chętnie bym zobaczył to inne rozwiązanie

Ten post edytował juzwa 11.02.2007, 11:02:11
Go to the top of the page
+Quote Post

Posty w temacie


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: 7.10.2025 - 02:19