marick/laravel-strict

dev-main 2022-04-27 13:06 UTC

This package is auto-updated.

Last update: 2024-09-23 15:27:40 UTC


README

Laravel提供了一些实用的助手函数。但是它们的返回类型可能使得与静态代码分析工具如PHPStan结合变得困难。

echo strlen(config('app.name'));

参数#1:函数strlen期望接收字符串,但给出了混合类型。

这是因为助手函数理论上可以返回任何类型。

/**
 * Get / set the specified configuration value.
 *
 * If an array is passed as the key, we will assume you want to set an array of values.
 *
 * @param  array|string|null  $key
 * @param  mixed  $default
 * @return mixed|\Illuminate\Config\Repository
 */
function config($key = null, $default = null)

此包封装了Laravel的助手函数,并添加了一些总是期望清晰返回类型的方法。如果方法有不同的返回类型,将自动抛出异常,从而实现严格的类型检查。

use function Marick\LaravelStrict\config;

echo strlen(config('app.name')->string());

或者使用全局助手函数。

echo strlen(strictConfig('app.name'));

# Or in class form...
Helper::config('app.name')->string();