Php 如何声明可遍历类型?
PHP中有多个类型提示,PHP8中有更多,Psalm中甚至有更多。但是,如何声明类型,而不是暗示预期的类型呢 我有一个Php 如何声明可遍历类型?,php,types,phpdoc,psalm-php,Php,Types,Phpdoc,Psalm Php,PHP中有多个类型提示,PHP8中有更多,Psalm中甚至有更多。但是,如何声明类型,而不是暗示预期的类型呢 我有一个接口集合extensedtransversable,我需要声明它是类型为Abc的可遍历集合。我如何才能做到这一点,使PHPDoc或Psalm知道,当我迭代我的集合的实例时,每个元素的类型都是Abc 换句话说,我需要在接口级别上保证断言始终通过: function-doWithItems(集合$items):无效 { foreach($items作为$item){ 断言($Abc的
接口集合extensedtransversable
,我需要声明它是类型为Abc
的可遍历集合。我如何才能做到这一点,使PHPDoc或Psalm知道,当我迭代我的集合的实例时,每个元素的类型都是Abc
换句话说,我需要在接口级别上保证断言始终通过:
function-doWithItems(集合$items):无效
{
foreach($items作为$item){
断言($Abc的项目实例);
}
}
我的代码中没有一个工作接口示例(这些示例可能很难正确实现),但由于Psalm在Traversable上实现了它,它将类似于:
/**
*@extends Traversable(它有非常全面的诗篇支持,您可以通过源代码查看它们是如何做到的):
/**
*@extends数组集合
*/
最后一个类显示扩展的ArrayCollection
我的代码中没有一个工作接口示例(这些示例可能很难正确实现),但由于Psalm在Traversable上实现了它,它将类似于:
/**
*@extends Traversable(它有非常全面的诗篇支持,您可以通过源代码查看它们是如何做到的):
/**
*@extends数组集合
*/
最后一个类显示扩展的ArrayCollection