mennovanhout / laravel-model-constants
此包创建列名称常量,可以使用这些常量代替字符串,以减少输入错误并提高使用IDE的编码效率。
v0.9.5
2024-02-04 09:35 UTC
Requires
- php: ^8.0
- laravel/framework: ^8.0|^9.0|^10.0
README
此包将为您的模型生成常量文件,以减少输入错误和调试以查找可用属性的需要。
优势
- 此包安装后即可使用,无需维护或学习命令。
- 此包监听Laravel迁移结束事件(文件将自动更新/生成)。
- 当删除列时,您将在IDE中获得错误。
- 更少的输入错误。
- 这些常量在整个代码库中广泛可用,而不是需要键入字符串。
- 此包考虑到所有设计模式。无论您使用领域驱动设计还是Laravel的默认方法。
如何安装
composer require mennovanhout/laravel-model-constants
如何使用
此包通过Laravel的迁移系统挂钩,并在每次迁移或一系列迁移后生成文件。
您可以通过以下方式手动运行: artisan model:constants
。
如果您想删除此包生成的文件,可以使用以下方式: artisan model:constants-clean
。
示例:生成的常量文件
<?php namespace Domain\Authentication\Models; use MennoVanHout\LaravelModelConstants\Types\ModelAttributes; class UserAttributes extends ModelAttributes { const ID = 'id'; const NAME = 'name'; const EMAIL = 'email'; const EMAIL_VERIFIED_AT = 'email_verified_at'; const PASSWORD = 'password'; const REMEMBER_TOKEN = 'remember_token'; const CREATED_AT = 'created_at'; const UPDATED_AT = 'updated_at'; }
示例模型
<?php namespace Domain\Authentication\Models; class User extends Authenticatable { use HasApiTokens, HasFactory, Notifiable; protected $fillable = [ UserAttributes::NAME, UserAttributes::EMAIL, UserAttributes::PASSWORD, ]; protected $hidden = [ UserAttributes::PASSWORD, UserAttributes::REMEMBER_TOKEN, ]; protected $casts = [ UserAttributes::EMAIL_VERIFIED_AT => 'datetime', ]; }
待办事项
- 添加配置文件。
- 能够将生成的常量文件放置在另一个目录中。
- 添加一个选项,以便在常量中生成关系。
- 添加一个选项,以便在常量中生成自定义属性。