Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySql][oop][początki]komunikacja mysql->klasa
Forum PHP.pl > Forum > PHP > Object-oriented programming
ghastblood
Witam,
uczę się programowania obiektowego. Wiem co to klasy, obiekty, metody. Stworzyłem sobie klasę do generowania pól formularzy.

tak generuje pole input w formularzu

  1. $form = new Form('4.php', 'POST');
  2. $form->regisetrField(new formInput('pole1', 'text','Jakaś wartość '));
  3. $form->createForm();


zastanawiam się teraz jak powinna wyglądać komunikacja pomiędzy mysql->obiektem.

np zapytanie dodające rekord do bazy z teksem z inputa.
marcio
Cytat
zastanawiam się teraz jak powinna wyglądać komunikacja pomiędzy mysql->obiektem.

w po polskiemu..smile.gif...?

Tak ogolnie to wedlug mnie takie generowanie formularzy to bezsens...lepiej juz to robic "statycznie" w widoku...
Ale jak juz sie tak uparles na takie rozwiazanie...to widze 2 wyjscia...

1)zrob metode w klasie Form ktora bedzie zwracala wszystkie stworzone przez nie pole w danej instancji klasy...wtedy mozesz generowac automatycznie zapytanie insert/update...do tego niech kolumny w bazie maja taka sama nazwe jak input'y z form'a..

2)Zrob form generator na podstawie danych z bazy danych...robisz prosty select na news'a form generator tworzy ci formularz i potem mozesz robic update/delete i insert ;]

3)chyba ze nie zrozumialem o co chodzi ;p
ghastblood
generalnie chodzi mi o jakiś prosty przykład komunikacji pomiędzy dwiema klasami np news i mysql. Czy może to tak nie działa i trzeba za każdym razem w klasie łączyć się z mysql od nowa ?
mortus
Współcześnie coraz częściej wykorzystuje się do tego ORM. Najbardziej popularne to Doctrine i Propel. "Przyjemnym" w zrozumieniu może być ORM zaimplementowany w Kohanie.
Inaczej rozwiązuję się to w taki sposób, że klasa News (będąca de facto modelem) rozszerza klasę obsługującą bazę danych (może to być zrealizowane na wiele sposobów, np. klasa Db w Kohanie, czy Zend'zie).
Odnośnie komunikacji pomiędzy obiektem typu Form, a bazą danych to takowa komunikacja nie istnieje. Obiekt Form po zatwierdzeniu, wysyła żądanie do serwera, a odpowiednie dane przekazuje w tablicy $_POST, $_GET, czy np. $_FILES. I to właśnie te dane trafiają do bazy danych.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.