Class IsMySQLClass

Description

Implements interfaces:

  • IIsDBClass
  • Iterator (internal interface)
  • ArrayAccess (internal interface)

Adatbázis táblákat megvalósító osztály

Az osztály, ami ezt az osztályt örökli, a konstruktorban megadott tábla, és mezőlista alapján elkészíti saját tulajdonságait a mezőkkel azonos néven. Lehetőség van külön jelölni azt is, hogy pontosan melyik tábla mezőjéről van szó, ha azonos mezőnevek is szerepelnek. Amennyiben ez nem történik meg, értékadáskor az összes táblában megkapja az új értéket az adott nevű mező. Érték lekérdezésekor pedig kivételt dob.
Alapesetben ilyenkor a tulajdonságot a 'T_' karakterlánccal kell kezdeni, majd a táblanevet és a mezőnevet egy '_' karakter választja el egymástól. Ez azonban testre szabható. A 'T_' előtag a $tableName_signal tulajdonságban, míg a táblát és mezőt elválasztó karakterlánc a $table_field_sep tulajdonságban.

Az osztály helyes használata:

  1.  require_once 'REDBObjects/REDBObjects.class.php';
  2.  REDBObjects::uses('mysql');
  3.  
  4.  mysql_connect('localhost''root''password');
  5.  mysql_select_db('teszt');
  6.  
  7.  class MyClass extends IsMySQLClass {}
  8.  $user new MyClass(array(
  9.      'users'=>array('useremail','username'),
  10.      'profile'=>array('firstname','lastname','useremail')));
  11.  $user->keyName 'userid';
  12.  $user->init(12);  //Valamilyen kapcsoló mező értéke alapján
  13.  //Vagy sql lekérdezés alapján. Ekkor a második paraméter true kell legyen.
  14.  //Első paraméter pedig az sql lekérdezés FROM kulcsszó utáni része
  15.  //$user->init("users left join profile where users.useremail = 'valami@ize.hu'",true);
  16.  print "A nevem: ".$user->lastname." ".$user->firstname."<br />";
  17.  $user->lastname 'Új vezetéknév';
  18.  $user->firstname 'Új keresztnév';
  19.  //Vagy akár így is:
  20.  //$user['lastname'] = 'Új vezetéknév';
  21.  $user->T_profile_useremail 'Új publikus emailcím';
  22.  //Ez a metódus végzi el a frissítést. Enélkül nem kerül adatbázisba az új adat
  23.  $user->update();

  • property: string $tableName_signal: Táblanevet jelző prefix
  • property: string $table_field_sep: Táblanevet és mezőnevet elválasztó jel
  • author: Takács Ákos (Rimelek), programmer [at] rimelek [dot] hu
  • copyright: Copyright (C) 2010, Takács Ákos
  • license: http://www.gnu.org/licenses/lgpl.html

Located in /mysql/IsMySQLClass.class.php (line 69)

ADBClass
   |
   --IsMySQLClass
Variable Summary
 string $isSqlQuery
 string $keyValue
Method Summary
 IsMySQLClass __construct (array $tablelist, [bool $list = false])
 int count ()
 void getFields ()
 void init (mixed $rowid, [bool $bool = false])
 void offsetSet (string $index, mixed $value)
 void offsetUnset (string $index)
 void update ([bool $refreshDB = true])
Variables
string $isSqlQuery = false (line 93)

Sql kérés volt-e megadva az init() paramétereként.

  • access: protected
string $keyValue = "" (line 86)

A táblákat összekapcsoló mező értéke

Ezt a mezőt csak az IsDBList osztály használja, hogy visszaadja az utoljára hozzáadott rekord összekapcsoló mezőjének értékét.

  • access: public
array $new_properties = array() (line 76)

Az értékadás feltöltődő asszociatív tömb

  • access: public

Inherited Variables

Inherited from ADBClass

ADBClass::$keyName
ADBClass::$priKeys
ADBClass::$primary_key
ADBClass::$properties
ADBClass::$tableAliases
ADBClass::$tablelist
ADBClass::$tableName_signal
ADBClass::$table_field_sep
Methods
Constructor __construct (line 102)

IsMySQLClass osztály konstruktora

  • access: public
IsMySQLClass __construct (array $tablelist, [bool $list = false])
  • array $tablelist: Két dimenziós tömb. Formátuma: array('table1'=>array('field1'[,field2]...)[,'table2'=>array('field1'[,'field2']...)]... )
  • bool $list: Ha false, akkor nem kérdezi le a mezőneveket előre.
count (line 113)
  • return: Objektum tulajdonságainak száma
  • access: public
int count ()
getFields (line 189)

A táblalista szerint az összes lehetséges mező nevének lekérdezése,

és beállítása tulajdonságnak

  • access: public
void getFields ()
init (line 126)

Objektum inicializálása

Ez a metódus választja ki a táblákból azt az egy rekordot, amiből létrehozza az objektumtulajdonságokat.

  • access: public
void init (mixed $rowid, [bool $bool = false])
  • mixed $rowid: Azonosító, ami minden táblában azonos értékű
  • bool $bool: Ha true, akkor a $rowid lehet sql utasítás ( csak a from kulcsszó utáni rész )

Implementation of:
IIsDBClass::init()
Egy rekord kiválasztása
offsetSet (line 574)

Adott indexű elem értékének beállítása

  • access: public
void offsetSet (string $index, mixed $value)
  • string $index
  • mixed $value

Implementation of:
ArrayAccess::offsetSet
offsetUnset (line 584)

Adott indexű elem érvénytelenítése

  • access: public
void offsetUnset (string $index)
  • string $index

Implementation of:
ArrayAccess::offsetUnset
update (line 398)

Adatok frissítése

Ha a metódust a false paraméterrel hívjuk meg, Nem kerül be adatbázisba a módosítás,
csak lekérdezhetővé teszi az új értékeket

void update ([bool $refreshDB = true])
  • bool $refreshDB

Implementation of:
IIsDBClass::update()
Rekord(ok) frissítése/módosítása

Inherited Methods

Inherited From ADBClass

 ADBClass::sep_table_field()

Documentation generated on Fri, 02 Apr 2010 17:34:18 +0200 by phpDocumentor 1.4.1