如何解决__construct 参数中的类可见性私有 - 这是有效的 php 代码吗?
我在看别人的代码,我不明白。这是类的示例:
class ImageService
{
public function __construct(
private ImageTransformer $imageTransformer,private PostService $postService
) {
}
// other methods here
}
IDE 在 _construct 下显示错误,原因是参数中的“private”。 我知道在 PHP 8 中有联合类型,但我找不到任何关于在类内部而是在构造函数内部使用“私有”或“公共”的信息,以及这应该做什么。我认为这是错字,它应该在类内部,但是像这样创建了多个类。这是一个有效的代码还是有人不知道他在做什么?
解决方法
这是 PHP 8.0.0 中的新增功能,称为 Constructor Promotion。
从 PHP 8.0.0 开始,构造函数参数也可以提升为对应于一个对象属性。将构造函数参数分配给构造函数中的属性但不对其进行操作是很常见的。构造函数提升提供了该用例的简写。
如果你execute that code你会看到。您应该检查您的 IDE 是否已更新为支持 PHP 8.0.0。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。