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