![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Przerobiłem na własne potrzeby kod z ksiązki ale nie do końca rozumiem, czy robię to logicznie. Generalnie to kod działa, ale sądzę, że mam tam zbędne kawałki. dodatkowo pytanie - czy to w ogóle tak powinno wyglądać? klasa PageDisplay:
Teraz w index.php mam wywołanie tej klasy i metod:
Moje pytania. 1. Uważam, że obiekt klasy PageDisplay jest zbędny. Skoro odwołuję się tylko do jej metod to przerobiłbym processRequest() , displayHeader($title) oraz displayFooter() na metody statyczne i w index.php odwoływałbym się do PageDisplay::processRequest Ma to sens? 2. Czy w $page = new PageDisplay($_SERVER['REQUEST_URI']); powinienem jako paramert podać właśnie REQUEST_URI? Właściwie tylko to działa.... 3. Jak mam się odwoływać do $_POST czy $_GET w reszcie kodu ? No bo już nie tradycyjnie if(isset($POST['add'])){ //add(); } skoro mamy taki zapis $this->post = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING); Trochę się w tym pogubiłem i potrzebuję naprowadzenia. Dzięki z góry. Ten post edytował sadistic_son 5.01.2023, 10:21:38 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
ja mowie o $request przekazanej w konstuktorze i o $this->request ( private $request;).
Ok, w wszczegolnym przypadku beda mialy to samo, ale generalnie $reqiest zawiera twoje URI a $this->request tylko kawalek. Wiec $reqiest w konstuktorze powinno sie nazywac $uri a $this->reqiest powinno sie nazywac no nie wiem $this->shortUri ROzumiesz oczym teraz mowie? Cytat Ok, tak zrobię. Do wyczyszczenia post z syfu od usera używam filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING); Nie powinno sie uzywac globalnie takich funkcji. Czasami, a w zadsadzie bardzo czesto, chcesz wkladac do bazy dokladnie to co user ci wpisal a nie wyfiltrowane. Filtrujesz tylko wtedy kiedy potrzeba. Takie globalne robienie wszystkiego to syf w kodzie. Cytat Czy do $_SERVER['REQUEST_URI'] oraz $_SERVER['HTTP_HOST'] też mam użyć FILTER_SANITIZE_STRING ? Zakładam też że nie filter_input_array bo to są stringi. Czy całą $_SERVER potraktować tym filter_input_array ? Patrz wyzej Cytat Mam hosting o adresie stronka.pl W nim mam foldery strona1 i strona2. W każdym z tych folderów index.php do obsługi zupełnie innych stron. Strona1 to forum budowlane a strona2 to portal o świnkach morskich smile.gif No więc stronka.pl/strona1 to zupełnie co innego od stronka.pl/strona2 prawda? No i wlasnie masz zle. Kazda stronka powinna miec swoja konfiguracje, swoja domene/subdomene (jak to napisal viking) i jej katalog powinieni byc ustawony jako katalog startowy. Wowczas twoj URI zawsze wyglada tak samo |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
ja mowie o $request przekazanej w konstuktorze i o $this->request ( private $request;). Ok, w wszczegolnym przypadku beda mialy to samo, ale generalnie $reqiest zawiera twoje URI a $this->request tylko kawalek. Wiec $reqiest w konstuktorze powinno sie nazywac $uri a $this->reqiest powinno sie nazywac no nie wiem $this->shortUri ROzumiesz oczym teraz mowie? Tak , terqz juz rozumiem. $request w konstruktorze już nie jest tym samym co $this->request skoro zostało potraktowane $this->request = $requestArray[0]; więc powinno nazywać się inaczej. Dzięki. Nie powinno sie uzywac globalnie takich funkcji. Czasami, a w zadsadzie bardzo czesto, chcesz wkladac do bazy dokladnie to co user ci wpisal a nie wyfiltrowane. Filtrujesz tylko wtedy kiedy potrzeba. Takie globalne robienie wszystkiego to syf w kodzie. Dobra, to jak zabiorę się za zczytywanie danych z formularzy i przetwarzanie ich to się zagłębie w temat, i pewnie pojawią się kolejne tematy w tej sprawie (IMG:style_emoticons/default/wink.gif) No i wlasnie masz zle. Kazda stronka powinna miec swoja konfiguracje, swoja domene/subdomene (jak to napisal viking) i jej katalog powinieni byc ustawony jako katalog startowy. Wowczas twoj URI zawsze wyglada tak samo Fak, to o tym nawet nie wiedziałem. Nigdy sobie tym głowy nie zaprzątałem, bo w sumie nie uważałem nawet za potrzebne, skoro po moich stronkach latają tylko nieobeznani znajomi, lub ewentualnie to jakieś wizytówki small biznesów, bez formularzy nawet. Ale trzeba będzie to wszystko kiedys poprawić żeby było po bożemu. Dzięki nospor i viking za pomoc. EDIT: Z artykułu podanego przez Johnasa to jest ciekawe: Wersja PHP 8.1 wprowadziła modyfikator readonly do właściwości klas. Wersja PHP 8.2 wprowadza ten modyfikator do oznaczenia klasy, dzięki czemu można skrócić zapis i nie oznaczać po kolei wszystkich właściwości klas jako readonly.
Wersja w PHP 8.2 może wyglądać następująco:
Ten post edytował sadistic_son 5.01.2023, 12:35:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 12:15 |