reinfi / laminas-typed-params
一个用于解决静态代码分析的 Laminas 框架模块,用于类型参数插件。
1.2.0
2024-08-04 13:14 UTC
Requires
- php: ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0
- laminas/laminas-mvc: ^3.3
- webmozart/assert: ^1.10
Requires (Dev)
- phpunit/phpunit: ^9.5
README
Laminas 控制器插件,用于处理参数以解决静态代码分析问题。
=======
安装
- 使用 Composer 安装:
composer require reinfi/laminas-typed-params
. - 通过配置文件
appliation.config.php
中的modules
键启用模块
return [ 'modules' => [ 'Reinfi\TypedParams', // other modules ], ];
配置
为了启用静态代码分析以找到您的控制器插件,您需要将其添加到您的控制器类中。
use Laminas\Mvc\Controller\AbstractActionController; use Reinfi\TypedParams\Plugin\TypedParams; /** * @method TypedParams typedParams() */ class MyController extends AbstractActionController { public function indexAction() { $id = $this->typedParams()->fromRoute('id')->asNonEmptyString(); } }
在这个示例中,静态代码分析现在将知道 id 总是一个非空字符串。
差异
截至目前,您不能在 @method
注解中有条件地返回类型,即。
/** * @method ($param is string ? TypedValue : TypedParams) typedParams(string $param, $default = null) */
因此,插件的调用总是返回插件本身,您需要使用公共方法。
与返回路由参数的 laminas mvc 控制器插件 params
不同。
public function __invoke($param = null, $default = null) { if ($param === null) { return $this; } return $this->fromRoute($param, $default); }