![]() |
![]() |
![]()
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 ![]() |
Cytat Ale jak coś zapamiętałem inaczej, a nie dowiedziałem się jeszcze że obecnie wygląda inaczej to dopytuję, nie kłócę się Sek w tym ze ci juz przynajmniej 3 raz o tym mowimy, wiec nie mow ze nie widziales (IMG:style_emoticons/default/tongue.gif) I nie, nie czekaj do konca, tylko poprawiaj na biezaco Cytat Ten fragment zrozumiałem, że $request oraz $this->request zawierają co innego, czyli to inne zmienne. Nie to miałes na myśli? Więc co? No wlasnie to mialem na mysli. Skoro zawieraja co innego to czemu tak samo sie nazywaja? Cytat $this->subdomain = SUBDOMAIN; No nie. Wyraznie mowie ma byc przekazane w konstuktorze a nie ustawione w konstruktorze.... Konstruktor to nadal klasa i konstuktor nie wie ze instnieje stala SUBDOMAIN. public function __construct($request, $subdomain) { // (...) $this->subdomain = $subdomain; } Ale jak juz pisalem w czesniej, cos masz zwalone, patrz ten komment: "yy... ze jak? Co ma folder w ktorym znajduje sie twoja strona do adresu URL? No zdecydowanie cos zle robisz" Cytat Co do pytania 2 to... Konstrukcja switch w klasie PageDisplay zakłada, że dostanie zaincludowane coś w zależności od tego co user kliknie, wpisze itd. Czyli założyłem, że jak wpisze strona.pl/stronka/add-product no to go przeniesie na stronę dodawania produkctu. W tym wypadku zczytuję z $_SERVER['REQUEST_URI'] to co user wpisał w pasku adresu, lub czy kliknął w link do tego adresu. Ale kiedy naciśnie on submit w formularzu przenoszącym do stronka.pl/stronka i prześle dane $_POSTem czy $_GETem (GET nie planuję używać) to jakoś muszę wychwycić, że np został naciśnięty submit i że wypełnił input. Stąd moje pytanie jak to w OOP realizować. Czy w switchu, w konkretnym case powinienem mieć jeszcze zwykłe if(isset($_POST['submit'] && $_POST['inputText'])) ? I z ostatnim zdaniem wiąże się moje 3. pytanie. Skoro mam utworzyć oddzielną klasę do obsługi post i get (nazwijmy ją requestProcessor) to mam się potem tak odwoływać do danych przesłanych z formularza? REQUEST_URI zawiera ten "url", wiec ok. Ten "url" istnieje zarowno jak przeyslasz get i post wiec w czym problem? Klase powinienes nazwac Request, jak to sie nazywa w kazdym normalnym FW. Klasa ta powinna ci zwracac twoje REQUEST_URI jak rowniez POST i GET. Moze tez miec metode isPost() ktore bedzie ci zwracala ci info czy to idzie get czy post itd |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
No wlasnie to mialem na mysli. Skoro zawieraja co innego to czemu tak samo sie nazywaja? Ej no weź mnie pobij, ale teraz nie rozumiem. Albo ciebie, albo w ogóle rozminąłem się z jakimś sporym fragmentem traktującym o OOP.Zmienne (1), (2) i (3) nie zawierają tego samego? (1) i (2) tak, tak? Jak rozumiem mówisz, że (1,2) i (3) nie zawierają tego samego? Tak? Dobrze teraz rozumiem? Jesli tak to to wywraca moje pojmowanie... (IMG:style_emoticons/default/sad.gif) No nie. Wyraznie mowie ma byc przekazane w konstuktorze a nie ustawione w konstruktorze.... Ok, już czaję. Thx.(...) REQUEST_URI zawiera ten "url", wiec ok. Ten "url" istnieje zarowno jak przeyslasz get i post wiec w czym problem? Ok, tak zrobię. Do wyczyszczenia post z syfu od usera używam filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);Klase powinienes nazwac Request, jak to sie nazywa w kazdym normalnym FW. Klasa ta powinna ci zwracac twoje REQUEST_URI jak rowniez POST i GET. Moze tez miec metode isPost() ktore bedzie ci zwracala ci info czy to idzie get czy post itd 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 ? "yy... ze jak? Co ma folder w ktorym znajduje sie twoja strona do adresu URL? No zdecydowanie cos zle robisz" Mam hosting o adresie stronka.plW 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 (IMG:style_emoticons/default/smile.gif) No więc stronka.pl/strona1 to zupełnie co innego od stronka.pl/strona2 prawda? A więc mam w config.php: A w formularzu: Ten post edytował sadistic_son 5.01.2023, 11:57:13 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 13:44 |