好吧,我会很清楚,我得到了一个错误,而声明一个变量作为另一个类的示例。这两个类是在不同的文件,我做了一个简单的例子,它显示快速什么错误。
我得到的错误如下:
PHP message: PHP Fatal error: New expressions are not supported in this context in Nameclassfile.php on line 6"
我不是phpMaven,目前我运行的是php8.1,我甚至不确定是否允许将变量声明为其他类的示例。
好吧,我的准则是:
- 一级文件:Nameclassfile.php
<?php
require_once "Valueclassfile.php";
class NameClass {
private $name;
private $value = new ValueClass();
function __construct() {
$this->name = "Default name";
}
function get_name() {
return $this->name;
}
}
?>
- 二级文件:Valueclassfile.php
<?php
class ValueClass {
private $value;
function __construct() {
$this->value = "Default Value";
}
function get_value() {
return $this->value;
}
}
?>
我希望你能帮我一把,最好的问候。
1条答案
按热度按时间yhived7q1#
你当然可以将变量声明为其他类的示例,但是你只能为你的属性初始化声明静态(即编译时)值。
你不能像这样使用需要执行的代码(例如运行时):
或者这个:
简单的解决方法是在构造函数中进行初始化:
注意,在8.1+中,您可以使用构造函数属性提升特性,该特性允许
new
的示例: