Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

obsługa 404 we frameworku

5 views
Skip to first unread message

Izaak Goldstein

unread,
May 6, 2012, 6:04:12 AM5/6/12
to

Na potrzeby własnej wesołej twórczości napisałem prostego frameworka.
Przez bardzo długi czas nie miałem potrzeby specyficznego obsłużenia nie
obsługiwanego adresu i standardowo używałem:

header ('HTTP/1.1 404 Not Found');

wypisując na ekran tylko prostą formułkę wyjaśniającą.

A teraz chciałbym dać możliwość elastycznego zareagowania osobie, która
korzysta z frameworka. Sprawdzanie czy framework potrafi obsłużyć dany
adres wygląda tak:

1. sprawdzanie czy url pasuje do listy wzorców deklarowanych przez
użytkownika
1a. jeżeli pasuje to korzysytam z klasy która obsłu

--
Izaak

Izaak Goldstein

unread,
May 6, 2012, 6:25:05 AM5/6/12
to
Dnia 06-05-2012 o 12:04:12 Izaak Goldstein <iz...@nospamgoldstein.tk>
napisał(a):

Pospieszyłem sie zbytnio, oto cała treść posta:

-----------
1a. jeżeli pasuje to korzystam z klasy która go obsłuży
1b. jeżeli nie pasuje do żadnego wzorca to header 404

Chciałbym zmodyfikować 1b. tak aby użytkownik frameworka mógł sam
zareagować na niedopasowanie, wyświetlić samodzielnie komunikat lub ładną
stronę 404 czy coś w ten deseń. Co powinienem zrobić w przypadku nie
znalezienia dopasowania, rzucić wyjątkiem? aby u

--
Izaak

Borys Pogoreło

unread,
May 6, 2012, 6:38:38 AM5/6/12
to
Dnia Sun, 06 May 2012 12:25:05 +0200, Izaak Goldstein napisał(a):

> Chciałbym zmodyfikować 1b. tak aby użytkownik frameworka mógł sam
> zareagować na niedopasowanie, wyświetlić samodzielnie komunikat lub ładną
> stronę 404 czy coś w ten deseń. Co powinienem zrobić w przypadku nie
> znalezienia dopasowania, rzucić wyjątkiem? aby u

Rzucenie wyjątkiem powinno wystarczyć, jeśli dispatcher bę

--
Borys Pogoreło
borys(#)leszno,edu,pl

Krzysztof Magosa

unread,
May 6, 2012, 7:02:10 AM5/6/12
to
W dniu 06.05.2012 12:25, Izaak Goldstein pisze:
> A teraz chciałbym dać możliwość elastycznego zareagowania osobie, która
> korzysta z frameworka. Sprawdzanie czy framework potrafi obsłużyć dany
> adres wygląda tak:

Np. w Zendzie wygląda to tak, że oprócz standardowych kontrolerów jest
jeden o nazwie Error, i on chwyta wszystkie błędy, tam można mieszać do
woli ;-)

Borys Pogoreło

unread,
May 6, 2012, 8:49:31 AM5/6/12
to
Dnia Sun, 06 May 2012 13:02:10 +0200, Krzysztof Magosa napisał(a):

>> A teraz chciałbym dać możliwość elastycznego zareagowania osobie, która
>> korzysta z frameworka. Sprawdzanie czy framework potrafi obsłużyć dany
>> adres wygląda tak:
>
> Np. w Zendzie wygląda to tak, że oprócz standardowych kontrolerów jest
> jeden o nazwie Error, i on chwyta wszystkie błędy, tam można mieszać do
> woli ;-)

Nie kontroler, tylko domyślnie rejestrowany plugin ErrorHandler. I od
niego zależy, co zostanie wykonane w razie wystąpienia błędu (bo i rodzajów
błędów jest kilka, nie tylko brak kontrolera/akcji/routingu, ale też np.
nieobsłużony wyjątek). Domyślnie jednak jest to faktycznie kontroler error
i akcja error.

--
Borys Pogoreło
borys(#)leszno,edu,pl
0 new messages