labrodev / laravel-uuidable
Laravel 包,提供可重用的特性,可在创建时自动为 Eloquent 模型分配 UUID。
v1.0.1
2024-06-23 17:23 UTC
Requires
- php: >=8.1
- ramsey/uuid: ^4.7
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.10
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
README
Uuidable 是一个 Laravel 包,提供可重用的特性,可在创建时自动为 Eloquent 模型分配 UUID。此包使用 Ramsey UUID 库以确保 UUID 以标准且可靠的方式生成。
安装
要安装此包,请在您的 Laravel 项目中运行以下命令
composer require labrodev/uuidable
要求
- PHP 8.1 或更高版本
配置
安装包后,无需额外配置即可在模型中使用 UUID 特性。
使用
要使用 ModelHasUuid
特性,只需将其包含在您的 Eloquent 模型中
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Labrodev\Uuidable\ModelHasUuid; class ExampleModel extends Model { use ModelHasUuid; }
确保您的模型数据库表中有 'uuid' 列。
如果没有,您可以通过 Laravel 迁移添加它
$table->uuid('uuid');
覆盖 uuid 列名称
如果您的数据库表中用于 UUID 存储的列名称与默认名称不同,您可以自定义特性以适应此情况。
只需在模型中覆盖特性方法,添加以下方法并使用您的特定列名称即可
/** * @return string */ protected function fetchUuidColumn(): string { return 'your-uuid-column-name'; }
测试
要运行包中包含的测试,请执行以下命令
composer test
要执行静态分析以检查包代码,请执行以下命令
composer analyse
安全
如果您发现任何与安全相关的问题,请通过电子邮件 admin@labrodev.com 联系我们,而不是使用问题跟踪器。
致谢
Labro Dev
许可
MIT 许可证 (MIT)。请参阅许可文件以获取更多信息。
阅读更多
在我们的 Substack 页面 - Labrodev 上阅读更多关于此主题的内容。