slam/phpstan-laminas-framework

Laminas 框架 3 MVC 控制器插件扩展用于 PHPStan。

安装量: 170,297

依赖: 13

建议者: 0

安全性: 0

星标: 16

关注者: 5

分支: 10

开放问题: 11

类型:phpstan-extension

v1.6.0 2024-08-19 09:56 UTC

README

Latest Stable Version Downloads Integrate Code Coverage

此扩展提供以下功能

  1. 为类型为 \Laminas\ServiceManager\ServiceLocatorInterface\Interop\Container\ContainerInterface\Psr\Container\ContainerInterface 的容器中 $container->get() 调用提供正确的返回类型
  2. 处理使用魔术方法 __call()\Laminas\Mvc\Controller\AbstractController 的子类中调用的控制器插件
  3. AbstractControllerFilterChainPhpRendererValidatorChainplugin 方法提供正确的返回类型
  4. 控制器、MvcEvents、View、ViewEvent 和 Application 上的 getApplication()getRenderer()getRequest()getResponse() 方法返回实际实例而不是类型提示接口
  5. \Laminas\View\Helper\AbstractHelper 上的 getView() 方法返回实际的 Renderer 实例而不是类型提示接口
  6. \Laminas\Stdlib\ArrayObject 被配置为 通用对象仓库
  7. 处理 \Laminas\Stdlib\AbstractOptions 的魔术属性

安装

要使用此扩展,请在 Composer 中引入它

composer require --dev slam/phpstan-laminas-framework

如果您还安装了 phpstan/extension-installer,则一切准备就绪!

手动安装

如果您不想使用 phpstan/extension-installer,请将 extension.neon 包含在您的项目 PHPStan 配置中

includes:
    - vendor/slam/phpstan-laminas-framework/extension.neon

配置

此库已经识别了内置服务和插件。

您可以通过提供您自己的应用程序中的服务管理器来选择更高级的分析

parameters:
    laminasframework:
       serviceManagerLoader: tests/service-manager.php

例如,tests/service-manager.php 可能看起来像这样

$app = \Laminas\Mvc\Application::init($config);
return $app->getServiceManager();