如何在Laravel中命名模型以免与现有类冲突?

时间:2013-04-20 03:54:34

标签: php namespaces laravel laravel-4

在Laravel 4中,我想使用一个代表来自我的数据库的Event的模型。因此,在app/models中,我的Event模型扩展了Eloquent。

但是,Laravel 4已经有一个Event类,用于管理应用程序生命周期内的事件。

我想知道的是,如何正确地命名我的Event模型,并以不会与现有Event类冲突的方式访问它。

2 个答案:

答案 0 :(得分:19)

您只需像往常一样将命名空间应用于它。所以,例如。

<?php namespace Models;

use Eloquent;

class Event extends Eloquent {

}

然后,您应该正确设置composer.json,以便加载模型。您可以使用classmappsr-0,具体取决于您是否在目录结构中使用PSR-0。

我很确定已经映射了models目录。

修改
如评论中所述,您必须运行composer dump-autoload

答案 1 :(得分:0)

我一直在研究使用命名空间,因为我想在PHPDocumentar中使用它们,因为laravel已经为你添加了两个命名空间,因此无法添加两个命名空间,如果我们了解基本问题,为什么我们使用名称空间

1 - 许多库使用相同的类名,因此我们使用命名空间来区分它。

2 - 如果你想使用命名空间,那么你应该超出应用程序的范围,意味着你是这种东西的供应商文件夹。

享受