Nan*_*nne 5 php static-analysis phpstan
为了实现对某些魔术_get()函数的检查,我正在尝试实现“类反射扩展”。该手册提到了如何编写扩展文件本身,以及如何通过service向 neon 文件添加一部分来安装它们。
我写了一个扩展,并像这样添加它:
services:
-
class: TestClass
tags:
- phpstan.broker.methodsClassReflectionExtension
Run Code Online (Sandbox Code Playgroud)
这会导致以下错误:
服务“0226”:未找到类 TestClass。
我尝试过的事情:
如果找不到文件,这些“添加”尝试中的一些实际上会发出警告:例如,如果我故意在其中之一中犯了一个拼写错误,比如说自动加载错误,它会警告我丢失文件。但前提是我没有定义service。
如果我定义了服务并在那里故意输入错误,它会返回上面的类未找到(而不是输入错误),所以我觉得它在任何参数之前检查扩展?
似乎需要将我的文件添加到不同的自动加载机制中。问题是,哪个以及如何?
我在用着
扩展类需要在运行时加载。您可以通过两种方式实现这一目标:
使该类可用于 Composer 自动加载器。通常配置autoload-devcomposer.json 的部分就足够了。
创建一个名为类似名称的文件phpstan-autoload.php,其中包含require_once具有扩展类的文件。并在运行 PHPStan 时将文件路径 phpstan-autoload.php作为--autoload-file|-a命令行上的选项传递。