junholee14/laravel-unicode-normalizer

一套用于在 Laravel 中处理 Unicode 规范化的功能

v1.0.1 2024-03-04 09:10 UTC

This package is auto-updated.

Last update: 2024-09-04 10:32:59 UTC


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()],
]);