Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 167 Pomógł: 0 Dołączył: 30.04.2004 Skąd: Częstochowa Ostrzeżenie: (0%)
|
Witam
Powszechnie mówi się, że wyjątki powinno stosować się do obsługi nieprzewidzianych sytuacji. Czy Waszym zdaniem powinno się je zastosować do obsługi błędnych URLi? Mam taką sytuację, że u mnie błędne URLe są/będą wykrywane na różnym poziomie:
Wszystkie wyjątki łapie frontcontroller i uruchamia przekierowanie. Teoretycznie można by to zrealizować bez wyjątków, ale wydaje mi się że tak jest przejrzyściej. Pytanie tylko czy to trochę nie nadużycie wyjątków, bo przecież w każdym z 3 poziomów jestem w stanie stwierdzić że URL jest niepoprawny i po prostu uruchomić przekierowanie zamiast rzucać wyjątek i nakładać to zadanie na front controllera. Jak uważacie? Pozdrawiam |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
To zależy jak bardzo aplikacja ma być "elastyczna" i "idiotoodporna". Zanalizuję po kolei jak Ty dla róznych elementów.
1. Router - duplikaty i zamieniona kolejność to tak naprawdę nie błąd. Aplikacja bez problemu to obsłużyć potrafi. No chyba, że dla Ciebie to istotny element SEO-friendly linków, ale wtedy robisz canonical, 301 lub z automatu zmieniasz kolejność zanim do dispatchera poślesz. Sprawa ma się inaczej z brakiem parametru. To już błąd i zmusza aplikację do jakiejś reakcji. Tutaj wyjątek jest rozsądnym rozwiązaniem. 2. Dispatcher - Tutaj raczej sprawa jasna. Może zrobić link - OK, nie może - powinien poinformować aplikację, że coś nie halo. Wyjątki więc ładnie się wpasowują w koncepcję. 3. Kontroler. Też różnie - podobnie jak w routerze. Nadmiarowe parametry - ignoruje, ale nie wyświetla by nie mówić wiele userowi, który może strzelać z nazwami parametrów by znaleźć "nieudokumentowane" (IMG:style_emoticons/default/wink.gif) Brak wymaganych parametrów powinien być sygnalizowany - kontroler i tak się wysypie, więc sens rzucenia wyjątku jest. Jeśli niepoprawna wartość to informujemy usera o ograniczeniu, parametr ignorujemy i działamy tylko na prawidłowych. Jeśli byki dopowadzą do niedoboru parametrów postępujemy jak dla ich braku. Tak więc wyjątki są tu Ok. |
|
|
|
pitbull82 Wyjątki dla błędnych URLi - dobra metoda? 30.03.2011, 10:44:21
pitbull82 Jest tak jak napisałeś, wszystkie restrykcje są ty... 30.03.2011, 12:24:00
thek Myślę, że najbezpieczniej jest mimo wszystko puści... 30.03.2011, 13:06:41
pitbull82 Z jednej strony masz rację, bo rzeczywiście w moje... 30.03.2011, 19:26:33
thek Akurat o ładowanie klas to bym się mało martwił I... 30.03.2011, 21:49:59 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 21:00 |