0
我想創建設置爲mysql數據的屬性。PHP類:作爲屬性的mysql數據
class MyClass{
private $a = $r['a'];
private $b = $r['a'];
private $c = $r['c'];
}
我知道這是不正確的語法,但我希望你能明白我的意思。
我可以創建一個返回請求的mysql數據的方法,但我不希望爲每一行都調用該函數。
我想創建設置爲mysql數據的屬性。PHP類:作爲屬性的mysql數據
class MyClass{
private $a = $r['a'];
private $b = $r['a'];
private $c = $r['c'];
}
我知道這是不正確的語法,但我希望你能明白我的意思。
我可以創建一個返回請求的mysql數據的方法,但我不希望爲每一行都調用該函數。
爲什麼另起爐竈?
您需要實施magic method__get
。
喜歡的東西:
class MyClass {
protected $_row = array();
public function __get($name)
{
if (array_key_exists($name, $this->_row)) {
return $this->_row[$name];
}
return null;
}
public function __isset($name)
{
return array_key_exists($name, $this->_row);
}
}
而且,你可以使用:
$obj = new MyClass();
$obj->load(); // Or any method to load internal data
echo $obj->a . $obj->b;
+1 - 在我看來,最好的解決辦法。 – 2011-01-11 12:23:07