我有一个带有类型化属性对象的类。我需要为该属性定义默认的空值:
这不起作用:
public object $doctor = new \stdClass();
这甚至可能吗?
答案 0 :(得分:1)
只需声明一个新的类实例并填充 $obj = new stdClass();
公共对象 $doctor = new stdClass();
$doctor->name="namedoctor"
$doctor->titles= array('doc', 'specialist');
答案 1 :(得分:1)
这是不可能的,您得到的错误 (Constant expression contains invalid operations
) 解释了原因:在 PHP 中,属性只能用常量表达式初始化。您不能使用任何函数调用、变量或表达式来生成与您的情况类似的新对象实例。
在此处查看更多详细信息: PHP Error : Fatal error: Constant expression contains invalid operations
作为一种解决方法,我建议在构造函数中初始化属性