bar*_*a28 3 laravel eloquent laravel-4
我有 2 个 Eloquent 模型:项目和任务。它们都有截止日期,我有 3 个与截止日期相关的函数,两个类都必须具有,但我不想有重复的代码。
我想到的唯一解决方案是将 Eloquent 扩展到某个类 DeadlineEloquent,并使用这个新类扩展 Project 和 Task。但这听起来不像是最好的解决方案,据我所知,Laravel 没有地方存储此类类(它不是模型,我不知道它是什么)。在这种情况下你将如何进行?
Laravel 实际上没有存储任何内容的地方,您可以自由地对应用程序文件夹和文件执行任何您需要的操作。但如果您仍然保留着app/models
文件夹,则可以创建一个BaseModel
并将其存储在其中。这是大多数人会选择的方式:
class BaseModel extends Eloquent {
public function whatever()
{
}
}
class Project extends BaseModel {
}
class Project extends BaseModel {
}
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 PHP 5.5,则可以使用特征:
trait Functions {
public function whatever()
{
}
}
class Project extends BaseModel {
use Functions;
}
class Project extends BaseModel {
use Functions;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
184 次 |
最近记录: |