| -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: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
No przecież wspomniałem jak można to zrobić. Masz dwa wyjścia. O jednym wspomniałes czyli po odczycie z routera kategorii, sprawdzasz jej istnienie w bazie i ewentualnych dzieci. Ale jest to tak częsta akcja, że powinieneś to odpuścić bo zajedziesz bazę. Dlatego zapisz sobie strukturę kategorii w cache serwera iodwołuj do niego. Znacznie szybsze rozwiązanie. Przykład?
Czemu taka choćby? Bo łatwo po niej sie "idzie" z powodu rekurencji. Każda nazwa będąca jako kategoria jest kluczem tablicy (czyli nazwą seo-friendly, widoczną z poziomu url). Posiadać ona może kilka własności takich jak pełna nazwa (name) i tablicę dzieci (moja ma znacznie więcej, ale te dwie to raczej minimum). Teraz sprawdzenie wygląda banalnie. Albo idziemy od roota, albo od najdalszego liścia: isset($kategorie['level-1']['children']['level-2']) i jeśli nie ma to odrzucamy ostatni poziom i children jako błędne. Ja mam dla przykładu to rozwiązane tak, że zaczynam od roota i przy starcie cache się sprawdza czy tę strukturę posiada. Jeśli tak - używa, jeśli nie generuje i wrzuca do cache'u. Jakakolwiek modyfikacja struktury (dodanie, aktualizacja, usunięcie lub przeniesienie węzła czy węzłów) usuwa bieżącą strukturę z cache. Proste, skuteczne, wydajne. |
|
|
|
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
by_ikar No przecież pokazałem ci przykład że to nie jest s... 4.01.2012, 12:34:28
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 ![]() ![]() |
|
Aktualny czas: 8.12.2025 - 01:55 |