Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 125 Pomógł: 2 Dołączył: 8.10.2010 Skąd: Poniemieckie miasto przesiedleńców Ostrzeżenie: (0%)
|
Mam link do aplikacji
nazwa.pl/produkty/pokaz/1 interpretuję je jako nazwa.pl/kontroler/akcja/parametr router rozbija adres i udostępnia je metodami dostępowymi pod odpowiednimi zmiennymi
dispatcher który otrzymał obiekt routera wyciąga sobie z niego te dane i ma zapisane w swoich zmiennych, sprawdza czy są one poprawne (czy dany kontroler jest dozwolony, czy dla danego kontrolera istnieje dana akcja itp) i na tej podstawie albo wywołuje je zgodnie z podanymi danymi albo używa domyślnych albo wywala błąd że dany adres nie istnieje dispatcher i router znajdują się w przestrzeni nazw Core odzwierciedlonej katalogiem root/Core natomiast kontrolery znajdują się w przestrzeni nazw App odzwierciedlonej katalogiem root/App ostatnią funkcją dispatchera, jeśli wszystko jest poprawnie, jest funkcja która wywołuje nowy obiekt kontrolera, zanim zacząłem używać przestrzeni nazw przy założeniu powyższych danych:
funkcja ta wywoływała kontroler poprzez najprostsze:
i w ten sposób tworzyłem obiekt kontrolera, teraz muszę się do niego odwołać w inny sposób, mianowicie
żeby znalazł je autoloader kontroler Produkty, znajduje się w katalogu root/App/Produkty/Produkty.php, folder App zawiera kilka modułów Produkty, Użytkownicy itd, odzwierciedlone w katalogach i przestrzeniach nazw np App\Produkty to przestrzeń nazw dla kontrolera Produkty; w jaki sposób nazwę kontrolera "produkty" wyciągniętą z adresu zamienić na nazwę obiektu \App\Produkty\Produkty(), której muszę użyć by go wywołać... oczywiście rozumiem, że do końca nie musi to być poprawne rozwiązanie (pewnie na pewno nie jest), ale próbuję ogarnąć przestrzenie nazw i PSR-0 nikt? nic? Ten post edytował olechafm 15.11.2011, 12:32:09 |
|
|
|
olechafm [PHP]Interpretacja adresu - budowanie nazwy obiektu 15.11.2011, 11:53:27
wookieb Proszę wstawić bbcode. 15.11.2011, 12:27:52
olechafm no wstawiłem
nikt nic nie ma pomysłu? 17.11.2011, 14:44:05
wookieb Nie podbijaj tematu. 17.11.2011, 15:05:55
olechafm to może poproszę o przeniesienie do działu PHP? 18.11.2011, 11:35:58
mortus Chyba trochę przedobrzyłeś z przestrzeniami nazw, ... 18.11.2011, 13:25:12 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 04:00 |