我有一个 PHP 项目,它是一个树/节点库。它有几个通用对象,所有这些对象都是并行工作的 - 它们要么是有序的,要么是无序的,具体取决于节点的子节点是否需要使用整数索引进行排序。
节点的子节点在集合中表示。每个节点都有一个其“有效负载”的通用类型。因此,在我的代码库中,有大量对象在 php 文档中被键入(例如):
TreenodeAbstract<PayloadType, NodeType, TreeType, CollectionType>
需要大量打字(双关语)。
我觉得我应该能够在 PHPStan 中使用全局别名来表示(在上面的示例中)“Treenode”的通用资格,但是 PHPStan 中的类型别名文档也很薄弱。有什么想法吗?