junholee14 / laravel-unicode-normalizer
一套用于在 Laravel 中处理 Unicode 规范化的功能
v1.0.1
2024-03-04 09:10 UTC
Requires
- php: ^8.1
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- laravel/pint: ^1.14
- orchestra/testbench: ^6.23|^7.0|^8.0|^9.0
- pestphp/pest: ^1.23|^2.6
- phpstan/phpstan: ^1.10
README
简介
Laravel Unicode Normalizer 包为 Laravel 应用程序中 Unicode 字符规范化提供了一种简单高效的方式。此包包含中间件以方便处理传入请求的规范化,并包含一个验证规则以确保在处理之前数据已规范化。
要求
- PHP >= 8.1
- Laravel >= 10
intl
PHP 扩展
安装
要在 Laravel 项目中安装此包,请运行以下命令
composer require junholee14/laravel-unicode-normalizer
安装后,您可以使用以下命令发布包配置
php artisan vendor:publish --provider="Junholee14\LaravelUnicodeNormalizer\UnicodeNormalizationProvider"
默认规范化形式是 NFC
。您可以在发布的配置文件中更改此设置。
使用方法
中间件
NormalizeUnicode
中间件自动将所有传入请求数据规范化为指定的 Unicode 形式。要使用它,只需将中间件添加到 app/Http/Kernel.php
中的路由或中间件组中
// app/Http/Kernel.php protected $middlewareAliases = [ ... 'normalizeUnicode' => \Junholee14\LaravelUnicodeNormalizer\Middlewares\NormalizeUnicode::class, ];
验证规则
此包还提供了一个 normalize_unicode
验证规则,以确保数据处于规范化形式。您可以使用此规则,就像使用任何其他 Laravel 验证规则一样
$request->validate([ 'input_field' => ['required', 'string', new NormalizedUnicode()], ]);