INSERT INTO, SELECT, UPDATE w obiektowym PHP
2015-07-12 20:40:03 Post #1
gość_Hexodecymalnie
Witajcie,
tak jak w temacie. Szukam i szukam ale coś ciężko mi cokolwiek ciekawego odnaleźć. Chodzi o to w jaki sposób wykonywać NAJPROSTSZE zapytania przy wykorzystaniu obiektowego PHP. Prosiłbym o jakieś rady opatrzone prostymi przykładami. Nie podawajcie linków do innych, skomplikowanych lektur, gdyż w temacie programowania obiektowego jestem początkujący.
Pomoże ktoś?
Pozdrawiam.
2015-07-12 21:54:48 Post #2
nospor
Zaprzyjaźnij się poprostu z PDO i tyle
2015-07-13 00:02:37 Post #3
gość_Hexodecymalnie
Zależało by mi na tworzeniu kodu obiektowego. W większości przykłady dla PDO przedstawiane są w postaci strukturalnej, np:
https://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO
2015-07-13 14:24:52 Post #4
nospor
PDO samo w sobie jest obiektowe. Podane przez Ciebie przykłady są jak najbardziej obiektowe bo uzywasz obiektu PDO.
Jak ci bardzo zalezy to wloz tamtego kody w klase i masz otoczone obiektówką.
2015-07-14 16:29:02 Post #5
gość_Hexodecymalnie
Ok. Wcześniej korzystając z PDO nawet nie wiedziałem, że piszę obiektowo

Do rzeczy. Utworzyłem sobie na potrzeby tego wątku, taki jakby krótki, mini skrypt(niby rejestracji). Użyłem PDO oraz "oplotłem" całość w klasę.
Kod wygląda tak:
http://pastebin.com/xz5xcD4b
Pozornie wszystko działa, rekordy dodają się do bazy; jednak jestem świadom tego, że można to zrobić lepiej. Nie dążę do wyłudzania kodu, po prostu napisałem sobie coś na szybko aby sprawdzić czy Twoje rady działają. Czy możesz mi podpowiedzieć coś odnośnie tego skryptu, jak pisać obiektowo? Czy zmierzam w dobrym kierunku, czy jakieś błędy popełniam? Rzuć okiem proszę.
2015-07-14 16:44:44 Post #6
nospor
1)
error_reporting(E_ALL);
ini_set('display_errors', 1);
Takie rzeczy maja być gdzieś na początku głównego skryptu a nie w kodzie klasy
2) issetREGISTER - co to za nazwa funkcji?
3) Obiekt PDO ma byc przekazywany do klasy a nie w niej tworzony
4) Funkcja ma robić tylko jedną rzecz a nie 15. Do tych 15 zalicza się ECHOowanie. Funkcje nie moze nic echować. Moze ona co najwyzej zwracac przez return lub przez wyjątek.
5) Do funkcji/klasy mają byc przekazane niezbedne rzeczy a nie ona sama ich szuka w $_POST
2015-07-14 17:45:02 Post #7
gość_Hexodecymalnie
Nie rozumiem punktów 3, 4, 5.
Jeśli chodzi o przekazywanie obiektu do klasy to dobrze jest to rozwiązać poprzez dołączenie kodu tejże klasy poprzez include czy require?
Za dwa ostatnie punkty nie wiem jak się zabrać. Czy mógłbyś mi to wytłumaczyć łopatologicznie?
2015-07-15 09:35:29 Post #8
nospor
Normalnie w argumentach funkcji masz przekazać wszystkie niezbędne dane.
Patrz manual dział funkcje - tam masz o argumentach
2015-07-15 09:36:20 Post #9
nospor
Co do echowania - to jak juz pisalem, funkcja nie moze miec zadnego ECHO... jak funkcja sie powiedzie to ma zwraca true: return TRUE, a jak jest blad to ma rzucic wyjątkiem z bledem.
Odpowiedz