如何在 php 中创建 `Typed` 数组?

How to create a `Typed` array in php?

我想做类似的事情,在 classB 中创建一个 classA 的定义类型数组,但是,我找不到语法。

class classA{
}
class classB{
    private classA $someName:array;
}

php 中没有类型化数组,但您可以实现对数组的包装 class,或一组具有可变参数的函数。例如:

class classB{
    private array $arr;
    public function __construct(classA ...$classAs){
       this->$arr = $classAs;
    }
}

您可以在这里阅读更多相关信息:https://www.cloudsavvyit.com/10040/approaches-to-creating-typed-arrays-in-php/

另一种方法可能是扩展数组 class,并使用 instanceof 对每个元素进行类型检查,如此处所述:Type hinting - specify an array of objects