我正在开发一个库,它使用phpDocumentor规范来确定使用反射的类型系统。但是,我找不到任何有关泛型类型声明的信息。
有没有什么方法可以指定泛型类型声明?
例如:是否有任何规范(正在进行中)指定如下内容:
/**
* @template <T extends Base>
*/
class Collection {
/**
* @return Iterator<T>
*/
function get_iterator();
}
注意,上面的代码只是一个例子,用来说明我所说的泛型类型声明是什么意思。我不希望这个实现与集合和迭代器有任何关系。
发布于 2019-05-28 07:00:49
你可能想看看psalm项目。
https://github.com/vimeo/psalm
它支持文档中的泛型,以及更多。Symfony的DB ORM原理也使用了它。
它支持Emacs、Phpstorm/Intellij、vim和visual studio
发布于 2021-08-03 15:31:48
Psalm通过
/**
* @template T of Foo
*/
参考:https://medium.com/vimeo-engineering-blog/uncovering-php-bugs-with-template-a4ca46eb9aeb
https://stackoverflow.com/questions/32628248
复制相似问题