Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP类属性作为stdClass启动_Php - Fatal编程技术网

PHP类属性作为stdClass启动

PHP类属性作为stdClass启动,php,Php,基本上我想做的就是 class A { public $prop = new stdClass; } PHP告诉我我不能这样做: PHP解析错误:语法错误,意外的“new”(T_new)在线## 怎么回事?我知道,在初始化过程中,基本上不能将函数的返回值赋给属性,但是有人能解释一下为什么会这样,就像技术上的东西一样。提前谢谢 类变量必须用静态值初始化,例如 public $prop = 7; // ok public $prop = 7+7; // ok - can be eval

基本上我想做的就是

class A {

    public $prop = new stdClass;

}
PHP告诉我我不能这样做:

PHP解析错误:语法错误,意外的“new”(T_new)在线##


怎么回事?我知道,在初始化过程中,基本上不能将函数的返回值赋给属性,但是有人能解释一下为什么会这样,就像技术上的东西一样。提前谢谢

类变量必须用静态值初始化,例如

public $prop = 7; // ok
public $prop = 7+7; // ok - can be evaluated at compile time
public $prop = new stdClass; // bad, dynamic result.
public $prop = get_some_value(); //also bad, dynamic result not available at compile time

类变量必须用静态值初始化,例如

public $prop = 7; // ok
public $prop = 7+7; // ok - can be evaluated at compile time
public $prop = new stdClass; // bad, dynamic result.
public $prop = get_some_value(); //also bad, dynamic result not available at compile time

类变量必须用静态值初始化,例如

public $prop = 7; // ok
public $prop = 7+7; // ok - can be evaluated at compile time
public $prop = new stdClass; // bad, dynamic result.
public $prop = get_some_value(); //also bad, dynamic result not available at compile time

类变量必须用静态值初始化,例如

public $prop = 7; // ok
public $prop = 7+7; // ok - can be evaluated at compile time
public $prop = new stdClass; // bad, dynamic result.
public $prop = get_some_value(); //also bad, dynamic result not available at compile time

尝试使用类构造函数:

class A {

    public $prop;

    public function __construct(){

        $this->prop = new stdClass;

    }

}

属性声明可能包括初始化,但是 初始化必须是一个常量值-也就是说,它必须能够 在编译时进行计算,并且不能依赖于运行时 信息,以便进行评估


尝试使用类构造函数:

class A {

    public $prop;

    public function __construct(){

        $this->prop = new stdClass;

    }

}

属性声明可能包括初始化,但是 初始化必须是一个常量值-也就是说,它必须能够 在编译时进行计算,并且不能依赖于运行时 信息,以便进行评估


尝试使用类构造函数:

class A {

    public $prop;

    public function __construct(){

        $this->prop = new stdClass;

    }

}

属性声明可能包括初始化,但是 初始化必须是一个常量值-也就是说,它必须能够 在编译时进行计算,并且不能依赖于运行时 信息,以便进行评估


尝试使用类构造函数:

class A {

    public $prop;

    public function __construct(){

        $this->prop = new stdClass;

    }

}

属性声明可能包括初始化,但是 初始化必须是一个常量值-也就是说,它必须能够 在编译时进行计算,并且不能依赖于运行时 信息,以便进行评估


是的,我得出了这个结论。我实际上是在问是什么原因造成的。这是一个PHP限制。唯一的解决方法是用空/默认的固定值定义类变量,然后在构造函数中分配动态内容。我实际上是在问是什么原因造成的。这是一个PHP限制。唯一的解决方法是用空/默认的固定值定义类变量,然后在构造函数中分配动态内容。我实际上是在问是什么原因造成的。这是一个PHP限制。唯一的解决方法是用空/默认的固定值定义类变量,然后在构造函数中分配动态内容。我实际上是在问是什么原因造成的。这是一个PHP限制。唯一的解决方法是使用空/默认固定值定义类变量,然后在构造函数中分配动态内容。但是空stdClass怎么不是常量呢?PHP不会检查您试图实例化的内容。在本例中,它只是解析代码,看到您正在尝试使用仅在执行时可用的动态代码结构并退出。不管怎样,stdclass现在是否为“空”都无关紧要。将来可能不是。但是空的stdClass怎么不是常量呢?PHP不会检查您试图实例化的内容。在本例中,它只是解析代码,看到您正在尝试使用仅在执行时可用的动态代码结构并退出。不管怎样,stdclass现在是否为“空”都无关紧要。将来可能不是。但是空的stdClass怎么不是常量呢?PHP不会检查您试图实例化的内容。在本例中,它只是解析代码,看到您正在尝试使用仅在执行时可用的动态代码结构并退出。不管怎样,stdclass现在是否为“空”都无关紧要。将来可能不是。但是空的stdClass怎么不是常量呢?PHP不会检查您试图实例化的内容。在本例中,它只是解析代码,看到您正在尝试使用仅在执行时可用的动态代码结构并退出。不管怎样,stdclass现在是否为“空”都无关紧要。将来可能不会。