为了实现对某些魔术_get()
功能的检查,我正在尝试实现“类反射扩展”。手册中提到了如何自己编写扩展文件,并通过service
在 neon 文件中添加一部分来安装它们。
我写了一个扩展,并像这样添加它:
services:
-
class: TestClass
tags:
- phpstan.broker.methodsClassReflectionExtension
这会导致以下错误:
服务“0226”:找不到类 TestClass。
我尝试过的事情:
- 使用独立的 phar
- 使用 phpstan 的 composer install
- 使用特定命名空间 (PHPStan) 作为扩展名(在文件和霓虹灯中)
- 使用“随机”命名空间(在文件和霓虹灯中)
- 将文件添加到我知道正在扫描以进行分析的目录
- 将带有扩展名的目录添加到“scanDirectories”参数
- 将文件添加到“scanFiles”参数
- 将带有扩展名的目录添加到“paths”参数
- 添加(不推荐使用的)自动加载指令并在那里添加文件。
如果找不到文件,其中一些“添加”尝试实际上会发出警告:例如,如果我在其中一个中故意输入错字,比如说自动加载一个,它会警告我缺少文件。但前提是我没有service
定义。
如果我定义了服务并且在那里故意输入错字,它会返回未找到的类(而不是错字),所以我觉得它是在任何参数之前检查扩展名?
似乎需要将我的文件添加到不同的自动加载机制。问题是,哪个以及如何?
我正在使用
- phpstan 0.12.40
- php 7.2.33