Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]"sekcje" w php(?)
Forum PHP.pl > Forum > Przedszkole
Takuro
Witam, chciałbym zapytać jak zacząć pisać strone, by link wyglądał przykłądowo: mojastrona.com/index.php?app=sklep&section=buty
Takie strony są w jednym pliku pisane czy jak?
Daimos
Zacznij od samych podstaw smile.gif
W PHP możesz zagnieżdżać pliki i dzięki temu, wywoływać całą aplikację za pomocą jednego i zależnie od tego jak wygląda odnośnik, takie akcje uruchamiasz
Takuro
No znaczy co nieco w php umiem robić bo cośtam się uczyłęm, a co do zagnieżdżania to chodzi o include i require? Chodzi o to, że chciałbym sobie cośtam pisać(bo jak wiemy najlepiej na jakimś przykłądzie sobie ćwiczyć) ale chciałbym tak zacząć, żeby to wyglądało tak jak chce. Co muszę poznać by tak to napsiać jak chciałbym?
blahy
Chodzi Ci pewnie o front controller, czyli pojedynczy punkt wejsia do aplikacji.
Tak, jeden plik (index.php) obsluguje wszystkie requesty do aplikacji (i jako jedyny plik php moglby byc dostepny publicznie na serwerze (w folderze web, czy html)), co nie znaczy, ze aplikacja jest napisana w jednym pliku.
Tu masz fajny tekst o podstawach z dokumentacji frameworka symfony http://symfony.com/doc/current/book/http_f...ront-controller . Caly jest ciekawy ale ten anchor jest wlasnie o fron controllerze.
Jeden plik, na podstawie danych przekazanych w requescie decyduje o tym co powinno zostac wywolane i jaki response zwrocony.
Mozna uzyc standardowych require albo uzywac funkcjonalnosci autoload.
A tu przyklad takiego front controllera: https://github.com/symfony/symfony-standard...2.7/web/app.php .
Jak widac nie robi za duzo. Tworzy request, deleguje wygenerowanie response do klasy AppKernela i zwraca ten response do klienta.
Neymar11
załóżmy chcesz aby w index.php w adresie były dwa odnosniki dajny np. ?kategoria=buty?typ=meskie tak?
to robisz tak:

index.php
  1. switch($_GET['kategoria']) { // get wyciaga z adresu zmienna
  2. case 'buty':
  3. include 'buty.php';
  4. break;
  5.  
  6. case 'default':
  7. include 'index.php';
  8. break;
  9. }


buty.php
  1. switch($_GET['typ']) { // get wyciaga z adresu nastepna zmienna
  2. case 'meskie':
  3. include 'buty/meskie.php';
  4. break;
  5.  
  6. case 'damskie':
  7. include 'buty/damskie.php';
  8. break;
  9.  
  10. case 'default':
  11. include 'index.php';
  12. break;
  13. }


i tak ze wszystkim. smile.gif case default okresla co sie wyswietla, jezeli nie ma nic w zmiennej
com
drugi parametr w adresie robisz jako & smile.gif

@up
Już od lat się tego tak nie robi smile.gif
Neymar11
@up
Ale działa tongue.gif Mi dziala normalnie z ?parametr=ust?parametr=ust smile.gif
Czemu?! biggrin.gif
@topic
No to jak mozna to inaczej zrobić? Ajax?
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.