![]() |
![]() |
![]()
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: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Tak, chcę się uczyć nowych dobrych praktyk. Ale jak coś zapamiętałem inaczej, a nie dowiedziałem się jeszcze że obecnie wygląda inaczej to dopytuję, nie kłócę się (IMG:style_emoticons/default/tongue.gif) Ok, czyli typujemy zmienne. Kurde, sporo zmieniania kodu przede mną (IMG:style_emoticons/default/sad.gif) Chyba zostawię to na koniec, na dopieszczanie kodu jak już wszystko będzie działać.
przyklady: $request i $this->request 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?przeciez te zmiennej nazywaja sie tak samo a zawieraja zupelnie co innego To powinno byc przekazane w konstruktorze PAgeDisplay. Generalne zadne klasy nie powinny wiedziec co sie dzieje poza nimi, czyli nie powinny miedzy innymi znac jakie sa stale w twojej aplikacji. Klasa to zamkniety twor, jesli cos potrzebuje to dostaje to w konstruktorze A ok, czaję. Czyli tak?
Co do pytania 2 to... Konstrukcja switch w klasie PageDisplay zakłada, że zostanie 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? Dobrze rozumuję? Moje pytania mogą być pokrętne bo w OOP czuję się trochę jak dziecko we mgle. Ten post edytował sadistic_son 5.01.2023, 11:19:37 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 22:47 |