class UserInfo extends Database{
private $privileges=
$this
->connect()
->select("users", "DISTINCT privileges", "username= 'someuser'")
->getResult('privileges');
}
我似乎不可能基于基于父类Database
的方法来定义这个属性$privileges
。
值得指出的是,当我在不同的脚本中使用相同的函数并动态定义属性时,相同的函数工作得非常好。每个类都由一个对象实例化,它可以工作(显然使用适当的setter和getter)
$db = new Database;
$user = new UserInfo;
$user-> privileges=
$db
->connect()
->select("users", "DISTINCT privileges", "username= '".$user->name."'")
-> getResult('privileges');
在类中定义属性值时不能使用表达式。使用构造函数:
<?php
class UserInfo extends Database
{
// ...
public function __construct()
{
// initialize the 'privileges' property
}
}
?>
初始化私有成员时,新实例(this
)尚未准备好。您必须将这些代码放入构造函数中。