[PHP]MySQL setters i getters |
[PHP]MySQL setters i getters |
13.01.2023, 15:42:28
Post
#61
|
|
Grupa: Moderatorzy Postów: 36 446 Pomógł: 6292 Dołączył: 27.12.2004 |
I w klasie Product dopisz metode addProperty(string $value, string $label) ktora bedzie dodawala kolekne property do tablicy properties produktu
Powód edycji: [nospor]:
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
13.01.2023, 16:05:23
Post
#62
|
|
Grupa: Zarejestrowani Postów: 1 468 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
ktora bedzie dodawala kolekne property do tablicy properties produktu Wybacz, ale nie rozumiem jak ta metoda ma wyglądać. O tej godzinie to w ogóle już mało rozumiem To masz na myśli?
Ten post edytował sadistic_son 13.01.2023, 16:10:35 -------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
13.01.2023, 16:17:05
Post
#63
|
|
Grupa: Moderatorzy Postów: 36 446 Pomógł: 6292 Dołączył: 27.12.2004 |
masz ddoac a nie nadpisac.
.... private array $properties = []; ... public function addProperty(string $value, string $label): void { $this->properties[] = [ 'value' => $value, 'label' => $label ]; } -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
13.01.2023, 16:19:06
Post
#64
|
|
Grupa: Zarejestrowani Postów: 1 468 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
No tak. Oczywiste...
Ech, czas na dłuższą przerwę bo już nie myslę... Dzięki za pomoc nospor. Liczę, że dziś wieczorem wyślę projekt (lub jutro rano, bo cała noc przede mną). Hej, pytanie stricte z typu "co autor miał na myśli" I tutaj chciałbym się dowiedzieć jak ty nospor uważasz - czy biorąc pod uwagę poniższe: ""Logika MySQL powinna być obsługiwana przez obiekty z właściwościami, zamiast bezpośrednich wartości kolumn. Proszę użyć setters i getters aby to osiągnąć oraz nie zapomnieć użyć ich do zapisu i wyświetlania logiki." to można uznać, że spełniam warunek (poniżej) posługiwania sie getter/setter przy zapisie?
Przed wywołaniem metody do zapisu są settery. W ciele metody do zapisu są gettery. No to chyba spełniam to wymaganie przy zapisie, co? Jeśli też tak to rozumiesz to (chyba) skończyłem... Ten post edytował sadistic_son 13.01.2023, 17:52:31 -------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
13.01.2023, 18:26:36
Post
#65
|
|
Grupa: Moderatorzy Postów: 36 446 Pomógł: 6292 Dołączył: 27.12.2004 |
no chyba tak
Tylko ne tworz takich cudow $sku = $product->getSku(); przeciez mozsesz od razu: $this->db->bind(':sku', $product->getSku()); -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
23.01.2023, 11:32:36
Post
#66
|
|
Grupa: Zarejestrowani Postów: 1 468 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
Tylko ne tworz takich cudow Tak, teraz będe się właśnie takich rzeczy pozbywać, wywalać moje komentarze, wszelkie echo 'dupa' i var dumpy wywalać, itp, itd. Ale to już można po kolacji przy piwku I wysyłam. Dzięki wielkie za nieoceniona pomoc!$sku = $product->getSku(); przeciez mozsesz od razu: $this->db->bind(':sku', $product->getSku()); Hej, tak jeszcze jedna rzecz mi nie daje spokoju w moim kodzie. Metoda powinna dostać dane z POST w parametrze, a u mnie w jednym przypadku tak nie jest i metoda dostaje $_POST w ciele funkcji. Dzieje się to tutaj: if (empty($_POST[$propertyData['property']])) oraz tutaj: $this->db->bind(':productValue', $_POST[(string) $propertyData['property']]); Nie wiem jak przekazać do parametru tą wartość POST, bo nie znam jej indeksu - jest pobierany z bazy na podstawie wypełnionych pól i wybranej wartości z SELECT. Czy powienienm poniższy fragmencik wkomponować w wywołanie metody?
Metodę wywołuję tak:
Tutaj kawałek klasy z omawianą metodą:
-------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
23.01.2023, 14:29:26
Post
#67
|
|
Grupa: Moderatorzy Postów: 36 446 Pomógł: 6292 Dołączył: 27.12.2004 |
Oj chyba sie zgubilem. O co dokladnie pytasz?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
23.01.2023, 15:38:19
Post
#68
|
|
Grupa: Zarejestrowani Postów: 1 468 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
Chodzi mi o to, że:
W formularzu mam pole select z którego wybieram rodzaj produktu. Jak jest to np mebel to pojawiają się inputy dla wysokości, szerokości i długości. Dla dvd pojawia się rozmiar (MB), itd. Teraz wywołując metodę $productObject->insertNewProduct($product); podaję jej jako parametr obiekt $product w którym to za pomocą getterów mam ustawione wartości pozostałych inputów, ale bez tych dodawanych dynamicznie (szerokośc, wysokość, rozmiar itd - $_POST['width'] itd) bo w momencie wywoływania tej metody nie wiem jeszcze które z inputów zostały poprzez select dodane do formularza. Dowiaduję się tego dopiero wewnątrz metody, poprzez odwołanie bezpośrednio do $_POST[$propertyData['property']] tworzonego w forach (spójrz na kod powyżej). I traz moje pytanie to - jak mam przekazać w parametrze to $_POST['width'] (albo $_POST['size'] albo dowolne inne wysłane) przy wywołaniu insertNewProduct($product) zamiast wrzucać je w ciele metody? Czy powinienem poniższy kawałek (który obecnie jest tylko w ciele medoty insertNewProduct) równierz wykonywać przy sprawdzeniu czy w ogóle wywowłać insertNewProduct? Oczywiście trzeba ten kawałek zmodyfikować by dodawał do obiektu $product też tablicę zawierającą $_POST[$propertyData['property']]. Ten post edytował sadistic_son 23.01.2023, 15:42:24 -------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
23.01.2023, 15:49:46
Post
#69
|
|
Grupa: Moderatorzy Postów: 36 446 Pomógł: 6292 Dołączył: 27.12.2004 |
Poprostu do metody przekaz caly $_POST i po sprawie.
Normalnie bys przekazal obiekt Request jak cie prosilem tyle razy, ale ze nie napisales to przekazuj caly $_POST -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
23.01.2023, 17:14:43
Post
#70
|
|
Grupa: Zarejestrowani Postów: 1 468 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
No ok, ale co w tej klasie Request miałoby być? Nie napisałem jej, bo kiedy dopytywałem o czyszczenie POST to mi doradziłeś, że wystarczy bindowanie do bazy oraz htmlspecialchars do wyświetlania POST wystarczy. Oraz pisałeś też że czyszczeni POST powinno być w oddzielnej klasie właściwie. Więc nie mam pomysłu jak ta klasa w ogóle ma wyglądać i po co być.
Coś w TYM stylu? Wiem, że to sprzed 11 lat... Ten post edytował sadistic_son 23.01.2023, 17:17:07 -------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
23.01.2023, 17:55:01
Post
#71
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Dawałem ci wcześniej linki do klas na github. Nie możesz zajrzeć i zobaczyć co w nich jest? Na tym też polega programowanie. Patrzeć jak piszą lepsi.
-------------------- |
|
|
24.01.2023, 09:50:03
Post
#72
|
|
Grupa: Moderatorzy Postów: 36 446 Pomógł: 6292 Dołączył: 27.12.2004 |
Cytat Nie napisałem jej, bo kiedy dopytywałem o czyszczenie POST to mi doradziłeś, że wystarczy bindowanie do bazy oraz htmlspecialchars do wyświetlania POST wystarczy. Oraz pisałeś też że czyszczeni POST powinno być w oddzielnej klasie właściwie. No ale to nie moja wina ze sie zafiksowales na tym czyszczeniu i nie czytales co sie do ciebie innego pisze. Pisalem ci wyraznie, ze w Request na poczatek masz mie getPost() getGet() getByKey() getUri takie podstawowe metody ktore zwracaja rzeczy ktorych uzywasz z request. Inni, jak juz viking wspomnial, tez podawali ci linki do przykladowych klas. Takze nie, nikt ci tutaj nie doradzal bys rezygnowal z klasy Request. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 16:19 |