Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Router - przeszukiwanie url'a
Forum PHP.pl > Forum > PHP
olechafm
Routerem przeszukuje adres URL. Gdy nie znajdę kontrolera bo go nie ma - pusta tablica po weryfikacji URL lub po weryfikacji ta nazwa kontrolera nie jest poprawna, wywołuje domyślny kontroler.

W takiej sytuacji gdy nie znajdę w URL poprawnej nazwy kontrolera, ale jednak coś tam jest:

a. powinienem zignorować to co jest w URL i dla wybranego domyślnego kontrolera uruchomić domyślną akcję np. index() bez parametrów, niezależnie co w tym adresie się znajduje

czy może

b. powinienem sprawdzić czy to co mam w URL nie jest przypadkiem wywołaniem akcji dla domyślnego kontrolera, innej niż jego akcja domyślna (np. index()) - sytuacja gdy adres jest wpisany np. tak www.strona.pl/akcja/par1/par2/par3


Zakładam, że gdy chce świadomie wywołać akcję inną niż domyślna, to jasno deklaruję wybór kontrolera np. www.strona.pl/kontroler_domyslny/akcja_inna_niz_domyslna/

pzdr
olechafm
Mr Albert
Gdy nie odnajdujesz strony bo adres jest zły lepiej wywalić exception i obsłużyć go z odpowiednim komunikatem. Wg mnie jest to bardziej logicznie niż kierowanie na domyślny kontroler.

@Down
Tak. Zdecydowanie jest to lepsze niż przekierowywać na domyślny kontroller.
olechafm
czyli co np. wysypać mu 404 albo podstronę informującą o tym że podany adres nie istnieje? w przypadku akcji również błąd czy na domyślną akcję ?
erix
Odpowiem - to zależy.

Czasem potrzeba sprawdzania wielopoziomowego (np. wywoływanie odpowiedniego kontrolera, a jeśli nie istnieje - strona statyczna o nazwie podobnej do kontrolera), wtedy to ma sens.

W przeciwnym przypadku 404. Obojętnie, czy kontroler, czy akcja. Duplicate content, to Twój wróg.
olechafm
Dzięki bo już się tak zapętliłem w sprawdzaniu warunków dla różnych sytuacji i kombinacji istnienia kontrolera, akcji i parametrów, że zgubiłem cały sens tego sprawdzania...

Wnioskuję, że jeśli sprawdzanie wielopoziomowe akurat nie jest w moim przypadku konieczne, to zwalam wszystko na 404 a domyślne akcje dla kontrolerów wywołuję wtedy tylko, gdy adres zawiera poprawny kontroler bez podania akcji (analogicznie gdy niema podanych żadnych danych - domyślny kontroler z domyślną akcją).
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.