Source for file Bean.php

Documentation is available at Bean.php

  1. <?php
  2.  
  3. /**
  4.  * 汎用BEANクラスです。
  5.  * @author miztaka
  6.  * @package teeple
  7.  *
  8.  */
  9. {
  10.     /**
  11.      * フィールド名称を保持
  12.      * @var array 
  13.      */
  14.     protected $fields = array();
  15.     
  16.     public function __construct($fields)
  17.     {
  18.         $this->fields = $fields;
  19.     }
  20.     
  21.     /**
  22.      * オブジェクトのプロパティをこのインスタンスにコピーします。
  23.      *
  24.      * @param object $obj オブジェクト
  25.      * @param array $colmap 'BEANのカラム名' => 'オブジェクトのプロパティ名' の配列
  26.      */
  27.     public function copyFrom($obj$colmap=null{
  28.         
  29.         if ($colmap == null{
  30.             $colmap array();
  31.         }
  32.         
  33.         $isObj is_object($obj)
  34.         
  35.         $columns $this->fields;
  36.         foreach($columns as $column{
  37.             $prop array_key_exists($column$colmap$colmap[$column$column;
  38.             if (isset($obj->$prop)) {
  39.                 $this->$column $isObj $obj->$prop $obj[$prop];
  40.             }
  41.         }
  42.         return;
  43.     }
  44.     
  45.     /**
  46.      * BEANのプロパティからオブジェクトのプロパティを生成します。
  47.      *
  48.      * @param object $obj 
  49.      * @param array $colmap 'BEANのカラム名' => 'オブジェクトのプロパティ名' の配列
  50.      */
  51.     public function copyTo($obj$colmap=null{
  52.  
  53.         if ($colmap == null{
  54.             $colmap array();
  55.         }
  56.         
  57.         $isObj is_object($obj);
  58.         
  59.         $columns $this->fields;
  60.         foreach($columns as $column{
  61.             if (@isset($this->$column)) {
  62.                 $prop array_key_exists($column$colmap$colmap[$column$column;
  63.                 if ($isObj{
  64.                     $obj->$prop $this->$column;
  65.                 else {
  66.                     $obj[$prop$this->$column;
  67.                 }
  68.             }
  69.         }
  70.         return;
  71.     }
  72.  
  73.     /**
  74.      * 定義されていないプロパティが呼ばれたとき
  75.      * @param $name 
  76.      * @return unknown_type 
  77.      */
  78.     public function __get($name{
  79.         if (in_array($name$this->fields)) {
  80.             return NULL;
  81.         }
  82.     }
  83.     
  84. }

Documentation generated on Mon, 26 Apr 2010 08:59:35 +0900 by phpDocumentor 1.4.3