Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]NiceURL
Forum PHP.pl > Forum > Przedszkole
Barcelona
Powitać. Jestem w trakcie tworzenie serwisu, który chciałbym żeby był zrobiony jak należy i dlatego kilka moich pytań kieruje do was. Jednym z nich jest NiceURL. Dopiero mam zrobiony goły szablon i wole się spytać teraz niż żebym później przerabiał cały skrypt.

Czy ładne linki robi się po zakończeniu projektu czy lepiej jak zacznie się je robić zaraz na początku?

I czy wystarczy pobawić się w htaccess żeby je uzyskać?

Pilsener
Cytat(Barcelona @ 4.12.2010, 21:41:39 ) *
Czy ładne linki robi się po zakończeniu projektu czy lepiej jak zacznie się je robić zaraz na początku?
- od początku, dorabianie czy modyfikacja niceurl w projektach, które tego nie przewidywały to droga krzyżowa.


Cytat(Barcelona @ 4.12.2010, 21:41:39 ) *
I czy wystarczy pobawić się w htaccess żeby je uzyskać?
- zdecydowanie NIE. Plik .htaccess zapewnia jedynie przepisanie adresu "nice" do zmiennej GET, przykład:
- tradycyjny adres: strona.pl/article/ziom-jest-spoko,2,134.html
- adres po przepisaniu: strona.pl/index.php?page=article/ziom-jest-spoko,2,134.html

Bierz przykład choćby z Drupala - wrzucaj wszystko do jednej zmiennej i obrabiaj w PHP, unikniesz sytuacji, w której liczba wpisów w .htaccess sięga kilkuset a serwisu nie da się zmodyfikować :/ Wszystkie żądania powinny być kierowane do index.php, dzięki czemu odpada nam przenoszenie zmiennych pomiędzy stronami (łatwiej zaincludować potrzebny kod niż dostarczać zmienne do kodu). Niezależnie od tego, czy przyjazne linki są włączone czy nie masz zmienną $_GET['page'], którą obrabiasz - jak się do tego zabierzesz to Twoja rzecz, najczęściej stosuje się jakiś routing standardowy, rzadziej kilka. Routing mówi nie tylko jak czytać URL, lecz także jak go generować, adresy tworzysz w szablonach w sposób:
  1. $params = array(
  2. 'module'=>'article',
  3. 'title'=>'ziom-jest-spoko',
  4. 'page'=>2,
  5. 'id'=>134
  6. );
  7. echo $this->url($params,$options);

Jako parametry wrzucasz zmienne url a jako opcje radzę przyjąć rodzaj routingu (zwykłe adresy typu ?=, nice, jakieś inne - np. każdy moduł może mieć inny mechanizm generowania adresów) plus na przykład dziedziczenie parametrów (nie trzeba wstawiać zmiennych, które już są w adresie). W ten sposób możesz nie tylko serwis łatwo rozbudować, lecz także zmienić całą koncepcję adresów bez grzebania się w kodzie PHP czy HTML (wystarczy plik .ini czy .xml ze zdefiniowanymi routingami).

Barcelona
Bardzo dziękuje za bardzo obszerny opis, na pewno bardzo mi pomoże w projektowaniu strony.
Dzięki i pozdrawiam.
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.