定义属性时是否可以将属性类型转换为对象?例如, $array 是有效的,但是,我对对象的两次尝试都不是。
谢谢
class xxx
{
public $array=array(),
$object1=new stdClass(),
$object2=object()
}
定义属性时是否可以将属性类型转换为对象?例如, $array 是有效的,但是,我对对象的两次尝试都不是。
谢谢
class xxx
{
public $array=array(),
$object1=new stdClass(),
$object2=object()
}
不,PHP 不允许您这样做。将对象分配给类属性的唯一方法是通过类方法。
如果您希望在对象初始化时将一个空类分配给类属性,那么您可以通过构造函数方法执行此操作。
class xxx {
public $array = array();
public $object1;
public function __construct() {
$this->object1 = new stdClass();
}
}
这是不可能的,因为类定义是在 PHP 的编译时执行的。此时没有表达式被翻译。这意味着只允许直接赋值,如字符串、浮点数、整数和数组。
请参阅运行时与编译时