Php 表达式不允许-使用新对象设置类变量
我试着做以下事情:Php 表达式不允许-使用新对象设置类变量,php,oop,object,Php,Oop,Object,我试着做以下事情: class Foo { private $bar = new baz(); // Expression is not allowed as field default value } class Baz { public function __construct() { echo "hello world"; } } 我找不到任何不允许该表达式的结果。为什么我可以分配字符串、整数和其他数据类型,但不能分配对象?这就是PHP的工作方式
class Foo {
private $bar = new baz(); // Expression is not allowed as field default value
}
class Baz {
public function __construct() {
echo "hello world";
}
}
我找不到任何不允许该表达式的结果。为什么我可以分配字符串、整数和其他数据类型,但不能分配对象?这就是PHP的工作方式。不能在类属性中使用函数(包括构造函数) 属性是蓝图,必须独立于运行时 环境() 您可以通过
\uuu构造()
这就是PHP的工作方式。不能在类属性中使用函数(包括构造函数) 属性是蓝图,必须独立于运行时 环境() 您可以通过
\uuu构造()
这应该对你有用
<?php
class Baz {
public function __construct() {
echo "hello world";
}
}
class Foo {
private $bar;
function __construct(){
$bar = new Baz(); // Expression is not allowed as field default value
}
}
?>
这应该适合您
<?php
class Baz {
public function __construct() {
echo "hello world";
}
}
class Foo {
private $bar;
function __construct(){
$bar = new Baz(); // Expression is not allowed as field default value
}
}
?>
您不能从需要扩展Baz
或通过Foo
传递Baz
的类内部调用类以使用Baz
作为变量您不能从需要扩展Baz
或通过Foo
的构造传递Baz
的类内部调用类Baz
作为变量