dominik-eller / laravel-data-normalizer
一个用于将电话号码、电子邮件和其他输入数据格式化为标准格式的Laravel包。
v1.1.0
2024-09-26 11:25 UTC
Requires
- php: ^8.2
- giggsey/libphonenumber-for-php: ^8.13
- illuminate/contracts: ^11.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^9.0.0||^8.22.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-arch: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
- spatie/laravel-ray: ^1.35
README
一个用于将电话号码、电子邮件和其他输入数据格式化为标准格式的Laravel包。
安装
您可以通过composer安装此包
composer require dominik-eller/laravel-data-normalizer
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="laravel-data-normalizer-config"
这是发布配置文件的内容
return [ 'phone' => [ 'default_country' => 'DE', 'format' => 'E164', ], 'email' => [ 'trim_whitespace' => true, 'lowercase' => true, ], ];
用法
标准化电话号码
use Deller\DataNormalizer\Facades\PhoneNormalizer; $normalizedPhone = PhoneNormalizer::create('phone')->normalize('+49 (151) 123 45678'); // $normalizedPhone will be "+4915112345678" (E.164 format)
格式化电话号码
use Deller\DataNormalizer\Facades\PhoneFormatter; $formattedPhone = PhoneFormatter::create('phone')->format('+4915112345678', ['format' => 'INTERNATIONAL']); // $formattedPhone will be "+49 151 1234 5678"
标准化电子邮件地址
use Deller\DataNormalizer\Facades\EmailNormalizer; $normalizedEmail = EmailNormalizer::create('email')->normalize(' JohnDoe@Example.com '); // $normalizedEmail will be "johndoe@example.com"
格式化电子邮件地址
use Deller\DataNormalizer\Facades\EmailFormatter; $formattedEmail = DataFormatter::create('email')->format(' JohnDoe@Example.com '); // $formattedEmail will be "johndoe@example.com"
注册自定义格式化器
use Deller\DataNormalizer\Factories\DataFormatterFactory; class CustomFormatter implements \Deller\DataNormalizer\DataFormatter { public function format($data) { return 'Formatted: ' . strtoupper($data); } } // Register the custom formatter type DataFormatterFactory::registerType('custom', CustomFormatter::class); // Use the custom formatter via the facade $customFormatter = \Deller\DataNormalizer\Facades\DataFormatter::create('custom'); echo $customFormatter->format('some data'); // Output: "Formatted: SOME DATA"
注册自定义标准化器
use Deller\DataNormalizer\Factories\DataNormalizerFactory; class CustomNormalizer implements \Deller\DataNormalizer\DataFormatter { public function normalize($data) { return 'Normalized: ' . strtolower(trim($data)); } } // Register the custom normalizer type DataNormalizerFactory::registerType('custom', CustomNormalizer::class); // Use the custom normalizer via the facade $customNormalizer = \Deller\DataNormalizer\Facades\DataNormalizer::create('custom'); echo $customNormalizer->normalize(' SOME DATA '); // Output: "Normalized: some data"
测试
composer test
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
贡献
有关详细信息,请参阅CONTRIBUTING。
安全漏洞
请通过电子邮件me@dominik-eller.de报告安全漏洞,而不是使用问题跟踪器。
鸣谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。