![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
zajrzyj na blog http://wojciech.naruniec.info/pl/ tam chyba kiedyś było jakieś małe how-to/pierwsze kroki z ZF.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 1 Dołączył: 27.03.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 Zobacz przykładowy sposób użycia autentykacji i uprawnień, może to Ci pomoże: http://www.nabble.com/Zend_Acl---Zend_Auth...5728s16154.html 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 W wersji SVN i za kilka dni w wersji 0.8 powinno już być ok, spójrz tutaj: http://framework.zend.com/issues/browse/ZF-775 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 Spróbuj zmienić odnośnik do arkusza stylów na ścieżkę bezwzlędną, czyli np. zamiast "style.css" powinieneś mieć "/prj/style.css" (zwróć uwagę na slash na początku). Wtedy powinno być ok. -------------------- lorem ipsum : polska społeczność zend framework
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 10.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
dzięki za odpowiedź - do części doszedłem sam, częściowo pomogły mi przykłady które podałeś
np zamiast noRouteAction jest __calll (jakby ktoś szukał) ale zostaje problem typu if($sesja->zalogowany) $frontController->dispatch();//idź dokąd chcecz else //MA BYĆ STRONA Z LOGOWANIEM próbowałem szukałem siedziałem nad tym - porażka - w przykładzie który podałeś jest fragment ->setControllerDirectory(array('default' => realpath('../application/controllers/default'), admin' => realpath('../application/controllers/admin'))) czy w związku z tym mam zorganizować dwie ścieżki ? bo coś próbowałem w tym kierunku ale też nie wyszło chodzi mi o logikę - jak to się robi normalnie jest tak 1 - sprawdź czy jest zalogowany 2 - jeśli nie skieruj go na stronę z logowaniem realizacja tego jest np taka if (!$_SESSION['log']) header('location:index.php?akcja=logowanie'); zwyczajnie normalnie prosto i da się to wymyślić samemu a przy zendzie - już nie wiem co robić - może logika obsługi tego jest inna - a ja się czepiłem "starej" formy i dlatego mam kłopoty - ale z drugiej strony - tak ja to sobie wyobrażam - skoro w "tradycyjnej" metodzie można było to zdarzenie obsłużyć dwiema linijkami kodu to tutaj chyba nie trzeba pisać osobnego podprogramu (czy jak to tam nazwać) |
|
|
![]()
Post
#5
|
|
![]() Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 10.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
dzięki za odpowiedź - pomogła mi bardzo
ale i tak nie do końca if(!$sesja->zalogowany) { // header czy jakis redirect do akcji z logowaniem. exit; } nie wiem co wstawić w miejsce komentarza 1 - header odradzam bo to jest tak index.php się ładuje sprawdza plugin -> w pluginie ma, że ma przechodzić gdzieś tam -> przechodzi (oczywiście przez index.php) -> sprawdza, że nie jest zalogowany -> ma na to instrukcję że ma przechodzić gdzieś tam -> przechodzi -> w efekcie zapętla się i jest błąd 2 - redirect jest związany z Zend_Controller_Action więc raczej odpada (dotyczy to także metody _forward) no chyba, że da się jej użyć na sposób o którym nie mam pojęcia na razie 3 - co zrobiłem - (oprócz 1 i 2) zajrzałem do klasy obsługującej pluginy i znalazłem metodę public function setRequest(Zend_Controller_Request_Abstract $request) { $this->_request = $request; return $this; } wg mnie powinna utworzyć żądanie aby przekazać akcje do określonej metody określonego kontrolera (podobna do tej jest setRedirect) próbowałem $this->_request='/'; $this->_redirect='/'; lub to samo ale z 'index' no i porażka - nie wiem może trzeba utworzyć klasę dziedzicząca po Zend_Controller_Request_Abstract i coś w pluginie jakąś jej metodę wywołać - no już nie mam pomysłu jak to zrobić ogólnie rzecz biorąc klasa ta nie jest skomplikowana - to jest z 10 metod - z jedną dwoma linijkami kodu, ale nie znalazłem tam sposobu na przypisanie jakieś do Zend_Controller_Front tego kontrolera którego chcę aby był wyświetlony tak na zakończenie - chciałem coś porobić z ZF bo gdzieś przeczytałem, że jest prosty do nauczenia się i w obsłudze - ale na końcu trzeciego dnia gdzie nie mogę znaleźć rozwiązania czegoś co w tradycyjnym rozwiązaniu było banalne i robiło sie najwyżej w minutę to mnie trafia - przecież to nie jest nic wymyślnego, wg mnie to jest jedna z podstawowych funkcji i zero przykładów jak to zrobić, ani nawet opisu jak się to robi, jak się to robić powinno - albo ja jestem za głupi na tego ZF i nie potrafię tak prostej funkcjonalności obsłużyć |
|
|
![]()
Post
#7
|
|
![]() Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Jak dla mnie ZF to najprostszy fw jaki widziałem (:
Nie pamiętam jak to dokładnie szło ale chyba jakoś tak:
W kontrolerze login w defaultowej akcji robisz formularz logowania. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 10.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
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
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:16 |