| -Zxcy- |
Post
#1
|
|
Goście |
Czy ktoś może orientuje się jak jest zaprogramowany ruter witryny apple.com?
Domyślam się że wszytko idzie przez index.php, sprawdza czy pierwsze 2 znaki, to nie język w URI i właśnie co dalej... Jak działa ten mechanizm że kontroler wie iż /macos/ to osobna strona, a później /macos/safari/ to jej podstrona? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%)
|
No przecież pokazałem ci przykład że to nie jest sztywne odwołanie do moduł/akcja. Popatrz na to, jak można w symfony taki adres zapisać, wygląda bardzo podobnie, ale odpalę go w 2 różnych modułach:
konfiguracja: Kod article_by_id: url: articles/:subject/:year/:id.html param: { module: readArticle, action: read } requirements: { id: \d+} article_by_title: url: articles/:subject/:year/:title.html param: { module: article, action: permalink } dla @article_by_id powstanie taki link: /articles/finance/2006/265.html dla @article_by_title powstanie taki link: /articles/finance/2006/activity-breakdown.html a mogę sobie równie dobrze pozamieniać miejscami te wartości i dla routera to będzie nie istotne w którym miejscu one są. Zauważ że przy każdym adresie odpalam dwa różne moduły i dwie różne akcje. Poprostu na podstawie konfiguracji, router tworzy wyrażenie regularne, które następnie jest dopasowywane do adresu jaki masz w przeglądarce, jeżeli nie zostanie dopasowany, jedzie dalej, tak długo aż nie znajdzie, a jak nie znajdzie rzuca błędem 404. A o to jakie wyrażenia powstaną po podaniu powyższej konfiguracji routerowi: Kod @article_by_id: #^/articles/(?P<subject>.+)/(?P<year>.+)/(?P<id>\d+)\.html$#x @article_by_title: #^/articles/(?P<subject>.+)/(?P<year>.+)/(?P<year>.+)\.html$#x Linki minimalnie różne, a odpalany jest różny moduł i różna akcja. A przecież parametry możesz umieścić w jakim miejscu tylko chcesz, nie musi być na końcu jak w moim przypadku. Prócz tego że dane są pozyskiwane z adresu, dostajesz też dane z routingu, czyli moduł, akcje itp, bo możesz tam jeszcze jakieś inne parametry zmieścić. Podobnie działa routing do którego dałem ci link. Jakby ci się chciało w ogóle przejrzeć, to byś nie zadawał takich pytań.. Ten post edytował by_ikar 4.01.2012, 12:57:42 |
|
|
|
Zxcy [PHP] router na przykładzie apple.com 4.01.2012, 09:43:17
lobopol poczytaj o "ładnych url", nice url. Popa... 4.01.2012, 10:02:23
Gość Wiem czym są ładne urle i jak je stosować, każdy F... 4.01.2012, 10:05:06
wookieb Po pierwsze nie każdy, po drugie route-y możesz de... 4.01.2012, 10:16:11
Gość No i właśnie dlatego pytam jak?
Kod$router... 4.01.2012, 10:25:54
gac3k w każdym poważnym frameworku, masz możliwość defin... 4.01.2012, 10:39:58
Gość Ok, a jak w takim razie są robione podkategorie? Z... 4.01.2012, 11:47:35
by_ikar Ehh, zorzum jedno że taki router, nie rozbija adre... 4.01.2012, 11:52:09
Gość by_ikar - tylko chodzi o to iż na apple.com nie ma... 4.01.2012, 12:10:07
thek Ja niedawno coś takiego robiłem. To w zasadzie nie... 4.01.2012, 12:12:34
Gość by_ikar - nie zrozumiałeś. W moim przypadku Twój p... 4.01.2012, 13:27:57
by_ikar Tak czy inaczej, podałem ci tylko przykład. To co ... 4.01.2012, 13:40:45
thek @Zxcy: reguła w stylu (a-z0-9).html jest delikatni... 4.01.2012, 14:16:23
by_ikar Zajrzałem na apple.com z tymi adresami które podał... 4.01.2012, 14:31:25
-Guciu- A jak to jest odczytywane dla podkategorii? Jak ko... 4.01.2012, 21:59:44
thek No przecież wspomniałem jak można to zrobić. Masz ... 5.01.2012, 08:50:44 ![]() ![]() |
|
Aktualny czas: 8.12.2025 - 09:09 |