reinfi/laminas-typed-params

一个用于解决静态代码分析的 Laminas 框架模块,用于类型参数插件。

1.2.0 2024-08-04 13:14 UTC

This package is auto-updated.

Last update: 2024-09-04 13:27:48 UTC


README

Laminas 控制器插件,用于处理参数以解决静态代码分析问题。

=======

  1. 安装
  2. 配置
  3. 差异

安装

  1. 使用 Composer 安装: composer require reinfi/laminas-typed-params.
  2. 通过配置文件 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);
}