如何命名Laravel中的模型,以避免与现有类冲突


How do I namespace a model in Laravel so as not to clash with an existing class?

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

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

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

您只需要像往常一样对其应用名称空间。例如:

<?php namespace Models;
use Eloquent;
class Event extends Eloquent {
}

你应该正确设置你的composer.json,以便它加载你的模型。您可以使用classmappsr-0,这取决于您的目录结构是否遵循PSR-0。

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

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

正如我对使用名称空间的研究一样,因为我想在PHPDocumentar中使用这些名称空间,不可能添加两次名称空间,因为laravel已经为您添加了这些名称空间,如果我们理解基本问题,为什么我们使用名称空间

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

2 -如果你想使用命名空间,那么你应该在应用程序的范围之外,意思是供应商文件夹为你提供这类东西。

享受