Source for file ADBClass.class.php

Documentation is available at ADBClass.class.php

  1. <?php
  2. /**
  3.  * R.E. DBObjects
  4.  *
  5.  * @author Takács Ákos (Rimelek), programmer [at] rimelek [dot] hu
  6.  * @copyright Copyright (C) 2010, Takács Ákos
  7.  * @version 2.1
  8.  * @license http://www.gnu.org/licenses/lgpl.html
  9.  * @package REDBObjects
  10.  */
  11.  
  12. /**
  13.  * ADBClass absztrakt ős
  14.  *
  15.  * Absztrakt őse Az IIsDBListClass és az IIsDBCLass interfészeket implementáló osztályoknak.<br />
  16.  * Ezen tulajdonságokat és metódusokat automatikusan tartalmazzák a listát,
  17.  * illetve rekordot megvalósító osztályok
  18.  *
  19.  * @author Takács Ákos (Rimelek), programmer [at] rimelek [dot] hu
  20.  * @copyright Copyright (C) 2010, Takács Ákos
  21.  * @license http://www.gnu.org/licenses/lgpl.html
  22.  * @package REDBObjects
  23.  */
  24. abstract class ADBClass
  25. {
  26.     /**
  27.     * A lekérdezhető mezők asszociatív tömbje
  28.     * @var array $properties 
  29.     */
  30.  
  31.     protected $properties = array();
  32.  
  33.     /**
  34.     * A megvalósítandó táblák listája
  35.     *
  36.     * @var array $tablelist 
  37.     */
  38.     public $tablelist=array();
  39.  
  40.     /**
  41.      * Táblák alias-ai a kulcsok, és az eredeti tábla az érték
  42.      *
  43.      * @var array $tableAliases 
  44.      */
  45.     public $tableAliases = array();
  46.  
  47.     /**
  48.      * Táblákat összekapcsoló mező neve
  49.      *
  50.      * @var string $keyName 
  51.      */
  52.     public $keyName="";
  53.  
  54.     /**
  55.      * Elsődleges kulcs mező neve
  56.      *
  57.      * Ezt a tulajdonságot szintén csak az {@link IIsDBListClass} interfészt
  58.      * implementáló osztályok használják fel.<br />
  59.      * Manuálisan sosem kell beállítani
  60.      *
  61.      * @var string $primary_key 
  62.      */
  63.     public $primary_key='';
  64.  
  65.     /**
  66.      * Táblanevet jelző string
  67.      *
  68.      * Amennyiben egyező nevű mezők vannak több táblában, jelölni kell a táblanevet is.<br />
  69.      * Annak jelölése, hogy táblanév is szerepel a tulajdonságban, ezzel a string-el történik.
  70.      *
  71.      * Például:
  72.      * <code>
  73.      * $object->T_tablename_fieldname = $value;
  74.      * </code>
  75.      *
  76.      * @var string $tableName_signal 
  77.      */
  78.     protected $tableName_signal = 'T_';
  79.  
  80.     /**
  81.      * Táblanevet és mezőnevet elválasztó string
  82.      *
  83.      * Ha megadjuk a táblanevet is a tulajdonságokban, akkor ezzel a stringgel
  84.      * kell jelölni a táblanév végét (Mező kezdetét)
  85.      * Például:
  86.      * <code>
  87.      * $object->T_tablename_fieldname = $value;
  88.      * </code>
  89.      *
  90.      * @var string $table_field_sep 
  91.      */
  92.     protected $table_field_sep = '_';
  93.  
  94.     /**
  95.      * A táblák elsődleges kulcs mezőinek nevét tároló tömb.
  96.      *
  97.      * Asszociatív kétdimenziós tömb.
  98.      * 1. dimenzió kulcsa a tábla neve.
  99.      * 2. dimenzió kulcsa a kulcsmező neve, értéke a kulcsmez tartalma.
  100.      *
  101.      * @var array $priKeys 
  102.      */
  103.     protected $priKeys=array();
  104.  
  105.     /**
  106.      * Tábla és mezőnevet szétválasztó metódus
  107.      *
  108.      * A tábla és mezőnevek a nekik megfelelő referencia változókba kerülnek
  109.      * a művelet elvégzése után
  110.      *
  111.      * @param string $input A tábla és mezőnév egy tulajdonságnévként
  112.      * @param string $table Táblanév (referencia változó)
  113.      * @param string $field Mezőnév (referencia változó)
  114.      * @return bool true, ha táblanévvel volt hívva a tulajdonság, és false ha nem
  115.      */
  116.     protected function sep_table_field($input,&$table,&$field)
  117.     {
  118.         if(preg_match('/^('.$this->tableName_signal.')(.*)('.$this->table_field_sep.')(.*)$/',$input,$out)) {
  119.             $table $out[2];
  120.             $field $out[4];
  121.             return true;
  122.         }
  123.         return false;
  124.     }
  125. }
  126. ?>

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