dragger
14.12.2013, 00:33:54
Witam,
Jestem w trakcie budowy serwisu i zastanawiam się nad adresami URL, co sądzicie o takiej składni:
/module-name+controller-name.action-name/param1/param2/param3
Jeśli przyjmiemy że domyślny moduł, kontroler i akcja nazywa się 'Default' można to pominąć w adresie używając tylko to co jest koniecznie, dlatego wszystkie poniższe adresy będą działać:
/.action-name
/+controller-name/param1/param2
/module-name
/module-name.action-name/param1
/module-name+controller-name
pytanie czy jest to lepsze rozwiązanie niż każdorazowe pisanie pełnej ścieżki:
/module-name/controller-name/action-name
Lub może macie jakieś inne, lepsze rozwiązania pozwalające skrócić adresy URL ?
Z góry dziękuję za pomoc.
Crozin
14.12.2013, 10:11:43
Adres URL nie powinien mieć bezpośredniego przełożenia na wywoływany moduł/kontroler/akcje/cokolwiek. Utwórz sobie zestaw reguł i po stronie serwera określaj, jaki moduł/kontroler/akcja/cokolwiek ma być odpalony dla danego URL-a.
mareklandowski
4.01.2014, 00:23:36
Korzystam z frameworka yii. Stosujac pare opcji konfiguracyjnych, bez problemu uzyskujemy przyjazne url'e typu np.
http://www.cynkowanie.pl/pl/oferta/cynkowanie-ogniowe Osobiście jestem jak najbardziej za przełozeniem adresów url na reguły typu : kontroler / akcja. Wygląda to naturalnie i daje bardzo przejrzysty kod. Oczywiscie mozliwe jest wymuszenie innych akcji przez reguly konfiguracyjne.
NetBeans
4.01.2014, 17:42:16
Cytat(Crozin @ 14.12.2013, 10:11:43 )

Adres URL nie powinien mieć bezpośredniego przełożenia na wywoływany moduł/kontroler/akcje/cokolwiek.
Mógłbyś rozwinąć, bo w sumie to ciekawe temat.
Crozin
4.01.2014, 18:29:54
Przez nie powinien mieć bezpośredniego przełożenia na wywoływany moduł/kontroler/akcje/cokolwiek miałem na myśli, że nazwa uruchamianego kodu nie powinna być odczytywana bezpośrednio z adresu URL, ponieważ:
- Rodzi to potencjalną lukę w bezpieczeństwie. Ktoś może na ślepo spróbować odpalić kontroler, który nigdy nie powinien być bezpośrednio wywołany.
- Utrudnia to zarządzanie kodem, ponieważ zmiana nazwy w kodzie przekłada się na zmianę URL-a.
- Najczęściej i tak pożądany format URL-i nie nadaje się do takiego zastosowania.
Nie jest to jakieś wybitnie złe podejście, ale na dłuższą metę będzie tworzyło raczej więcej problemów niż rozwiązywało.
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.