Typecast属性作为对象

时间:2012-05-16 12:41:51

标签: php

在定义属性时是否可以将属性作为对象进行类型转换?例如,$ array是有效的,但是,我对对象的两次尝试都没有。

谢谢

class xxx
{
    public  $array=array(),
            $object1=new stdClass(),
            $object2=object()
}

2 个答案:

答案 0 :(得分:4)

不,PHP不允许你这样做。将对象分配给类属性的唯一方法是通过类方法。

如果您希望在对象初始化时将空类分配给类属性,则可以通过构造函数方法执行此操作。

class xxx {
    public $array = array();
    public $object1;

    public function __construct() {
        $this->object1 = new stdClass();
    }
}

答案 1 :(得分:0)

这是不可能的,因为类定义是在PHP的编译时执行的。此时没有翻译表达式。这意味着只允许直接赋值,如字符串,浮点数,整数和数组。

请参阅Runtime vs compile time