Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] Odwołanie do nieinstniejącego controllera
Forum PHP.pl > Forum > PHP > Frameworki
PiratNowegoPokolenia
hmmm... co prawda czytałem już o tym w kilku tutorialach ale w każdym pisze co innego a u mnie i tak nic nie działa...

więc tak... moje pytanie brzmi jak zrobić (w sposób zalecany) aby aplikacja przekierowywała mi żądanie do IndexControllera ew do jakiegoś innego jeśli dany controller nie istnieje?
phpion
Może skorzystaj z ErrorController?
PiratNowegoPokolenia
hmmm... dzisiaj dopiero zacząłem zabawę z zf więc jestem kompletnie zielony...
Jak narazie zrobiłem tak:
Kod
    $frontController->setControllerDirectory( $sRoot . '/App/Controllers' )
                        ->throwExceptions( true )
                        ->registerPlugin( new Zend_Controller_Plugin_ErrorHandler() ) // <==
                    ->dispatch();

a oprócz tego stworzyłem sobie ErrorController z ową errorAction ale tak właściwie... to różnicy nie widzę
coś pominąłem ?
Sabistik
Po pierwsze Zend_Controller_Plugin_ErrorHandler jest ładowany automatycznie, więc nie trzeba go rejestrować. Po drugie jeśli ustawisz throwExceptions() na true to chyba oczywiste że nie działa.
PiratNowegoPokolenia
hmmm... aha... dziękuje tongue.gif
chlebik
Jak juz odpisal Sabistki nie dziala ci bo masz wlaczone wyrzucanie wyjatkow. Ja zas troche rozwine bys potem znowu nie musial tu wracac smile.gif
Otoz wyrzucanie wyjatkow stosuje sie tylko na serwerach developerskich, na produkcyjnych oczywiscie sie to wylacza i wszelakie bledy sa obslugiwane za pomoca ErrorController (oczywiscie te z niemozliwoscia znalezienia kontrolera rowniez). Kontrolera tego (oraz odpowiednich dla niego widokow) mozesz uzyc do generowania:

1. Ladnych widokow stron z bledami z cyklu: 'Wystapil blad aplikacji, pewnie znowu myszy przegryzly kable, wrocimy niebawem'
2. Logowania bledow - w tymze ErrorControlerze zanim wyswietlisz ladny widok mozesz zapisac caly blad w bazie danych (to zloty mechanizm dla wiekszosci aplikacji).
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.