PHP对象类变量

mck*_*k89 3 php oop php4 class

我用PHP构建了一个类,我必须将一个类变量声明为一个对象.每次我想声明一个我使用的空对象:

$var=new stdClass;
Run Code Online (Sandbox Code Playgroud)

但是,如果我用它来声明一个类变量

class foo
{
    var $bar=new stdClass;
}
Run Code Online (Sandbox Code Playgroud)

发生解析错误.有没有办法做到这一点,还是我必须将类变量声明为构造函数中的对象?

PS:我使用的是PHP 4.

dec*_*eze 5

你只能声明静态值,这样的类成员,即ints,strings,bools,arrays等等.您不能执行涉及任何类型处理的任何操作,例如调用函数或创建对象.

你必须在构造函数中完成它.

相关手册部分:

在PHP 4中,只允许使用var变量的常量初始值设定项.要使用非常量值初始化变量,您需要一个初始化函数,该函数在从类构造对象时自动调用.这样的函数称为构造函数(见下文).