0
的PHP ORM Granada工作方式如下,以從數據庫中檢索字段:如何用idiorm/granada定義模型字段而不破壞ORM功能?基於<a href="https://github.com/j4mie/idiorm" rel="nofollow noreferrer">Idiorm</a>
class ORM {
...
public function __get($key) {
return $this->get($key);
}
}
class ORMWrapper extends ORM {
...
public function get($key) {
if (method_exists($this, 'get_' . $key)) {
return $this->{'get_' . $key}();
} elseif (array_key_exists($key, $this->_data)) {
return $this->_data[$key];
}
elseif (array_key_exists($key, $this->ignore)) {
return $this->ignore[$key];
}
// and so on ...
}
我的問題是,如果我定義我的模型類public $field
,魔術方法__get不叫,所以ORM不從數據庫檢索字段?
我怎樣才能
- 能夠聲明在我的模型類
public $field
- 還叫魔吸如果
$field
未定義
在同一時間?
相關:http://stackoverflow.com/questions/4713680/php-get-and-set-magic-methods。如果每次調用'__get',我都可以覆蓋'ORMWrapper :: get'函數。但事實並非如此。 – 2013-03-01 14:18:19