扩展 Laravel 基本模型 Class 的最佳实践

Best practice of extending Laravel Base Model Class

我们想在应用程序中的每个模型上为 created_at 和 updated_at 添加 get()Attribute 方法。因此,一种方法当然是编写一个新的 BaseModel Class 并让所有模型扩展该模型而不是默认模型。

有没有(更好的)方法可以不使用新的 BaseModel class?

我们的目标是让创建不使用这些方法的新模型成为不可能。

您可以使用命令 php artisan stub:publish 自定义您的默认模型、控制器、迁移...

执行运行命令后,Laravel会在App/Stubs文件夹中添加一堆文件。只需在相应的已发布存根文件 (model.stub).

中创建一个新的自定义方法

或阅读以下说明了解更多详情:

存根自定义 Artisan 控制台的 make 命令用于创建各种 类,例如控制器、作业、迁移和测试。这些 类 是使用“存根”文件生成的,这些文件根据您的输入填充了值。但是,您可能希望对 Artisan 生成的文件进行小的更改。为此,您可以使用 stub:publish 命令将最常见的存根发布到您的应用程序,以便您可以自定义它们:

来源:https://laravel.com/docs/8.x/artisan#stub-customization