【发布时间】:2017-09-19 14:52:43
【问题描述】:
我正在寻找一种方法来添加一些将在所有模型中使用的自定义方法。我可以想象 3 种方法:
- 在 Eloquent 的 Model.php 主类文件中添加自定义方法(我想避免这样做,因为这是一个核心文件)
- 使用所需的自定义方法创建自定义模型类,该方法将扩展到 eloquent 的 Model 类,并且项目中的所有模型都将扩展到自定义模型类。
- 添加一个具有我的方法并将其包含在所有模型中的特征
但是,我希望以更有效和最好的方式来做这件事。他们还有其他方法吗?
PS 我使用 laravel 5.2 作为它的旧项目。
【问题讨论】:
-
#1 绝对是一个糟糕的方法。 #2 和 #3 都是很好的方法。如果字面上的所有模型(包括您的应用程序将拥有的任何未来模型)需要额外的功能,我会使用#2,如果只有一些需要额外的功能,我会使用#3。
-
感谢@ceejayoz :)
标签: laravel laravel-5 eloquent laravel-5.2 laravel-eloquent