Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework]jak zrobić np błąd 404 po wejściu na zły link
Forum PHP.pl > Forum > PHP > Frameworki
jakis_login
Witam,
mam aplikację w zend framework i po wejściu w jakiś link gdzie nie istnieje kontroller ani zadna akcja wyskakuje mi błąd zend'a ze brak kontrollera czy tam akcji a jak zrobić aby po wejściu na zły adres pojawiał sie błąd np 404?
snapshot
Dostajesz wtedy stronę z błędem 404 (sprawdź nagłówki). Jak przełączysz się na tryb produkcyjny, to nie pojawia się szczegół błędu, tylko sam komunikat, który możesz sobie zmienić.
jakis_login
ale jak dodać tą stronę z błędem 404?
snapshot
Edytujesz widok w application/views/scripts/error/error.phtml
jakis_login
Rozumię, że taki plik muszę sobie stworzyć bo nie mam takiego i wtedy co muszę zrobić w np. kontrolerze?
snapshot
Powinieneś mieć, jeśli generowałeś projekt w Zend_Tool. Jeśli nie zobacz sobie jak to wygląda http://framework.zend.com/manual/en/learni...te-project.html
jakis_login
dodałem ErrorController.php i error.phtml ale nie działa dalej ;/
snapshot
Proponuję postawić projekt na zend_tool i wtedy nie będzie takich problemów.
jakis_login
no ale mój projekt jest już gotowy i działa wszystko - oprócz tego. Może gdzieś jeszcze w jakimś pliku trzeba coś zmienić aby łapał ErrorController
snapshot
Musisz zarejestrować sobie plugin Error_handler() i ew ustawić kontroler i akcję do strony błędu.
Kod
$front = Zend_Controller_Front::getInstance();
$front->registerPlugin(new Zend_Controller_Plugin_ErrorHandler());
jakis_login
dodałem do index ponizszy kod i powiedzmy ze działa ale tylko dla kontrolerów a jak podam po prawidłowym kontrolerze jeszcze nieprawidłową akcje to juz nie działa

try {
$frontController->dispatch();
} catch ( Zend_Controller_Dispatcher_Exception $e ) {
echo 'Blad';
}
snapshot
Proponuję dać ten kod, który podałem do bootstrap.php
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.