Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyjątki dla błędnych URLi - dobra metoda?
pitbull82
post
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:

  1. router - analizuje składnię urla i jeśli nie w stanie znaleźć w nim pożądanych elementów, jeśli znajdzie jakieś duplikaty parametrów lub kolejność parametrów jest nieprawidłowa ustawia url przekierowania i rzuca wyjątek
  2. dispatcher - sprawdza czy na podstawie danych z routera jest w stanie wywołać odpowiedni kontroler i akcję - jeśli nie ustawia url przekierowania i rzuca wyjątek
  3. konkretny kontroler sprawdza czy nie ma nadmiarowych parametrów/czy ma wszystkie wymagane parametry/czy parametry mają poprawne wartości - jeśli nie ustawia url przekierowania i rzuca wyjątek


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pitbull82
post
Post #2





Grupa: Zarejestrowani
Postów: 167
Pomógł: 0
Dołączył: 30.04.2004
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Z jednej strony masz rację, bo rzeczywiście w mojej metodzie wywołanie przekierowania to odpalenie co najmniej kilku klas bazowych, wczytanie configów a wszystko tylko po to żeby wykonać ostatecznie przekierowanie.

Jednak w przypadku nowego serwisu mogę założyć, że wszystkie urle na stronie będą poprawne i żadne linki zewnętrzne nie będą prowadzić do nieistniejących urli (nowa domena). Dokładając do tego, że mimo wszystko osób eksperymentujących z urlami i próbujących zaszkodzić stronie będzie niewiele (raczej grubo mniej niż 1%) obciążenie będzie stosunkowo niewielkie. Do tego z tego co poczytałem właśnie rel="canonical" ma takie sobie opinie, mimo wszystko ludzie radzą raczej 301, sam osobiście rel="canonical" nigdy nie stosowałem, a 301 wielokrotnie.

Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 08:49