模型在包中的位置?

时间:2014-08-19 09:59:30

标签: laravel laravel-4

我希望在我的包中使用模型。我查看了laravel论坛/博客,但无法找到这个问题的明确答案。

我的模型应该放在哪里以及它们应该如何命名?

我知道如何自动加载我的模型等,但模型应该进入:

panthro/package/src/models

并命名为:

panthro/package

或位于:

panthro/package/src/panthro/package/models

并命名为:

panthro/package/models

什么是正确的还是有另一种解决方案?

1 个答案:

答案 0 :(得分:1)

您的模型可以驻留在任何地方,只要它们可以找到。但是为了使事情更加一致,我建议你将它们放在panthro/package/src/(或者包的名称)中,因为src文件夹几乎等同于app文件夹你的Laravel主要项目。

至于命名空间,我认为只是让你的命名空间在整个包中尽可能保持一致,通常以Author\PackageName开头,例如:

namespace Panthro\Package;

虽然我比将包名称命名为Package更具体。

如果你看一下laravel的插件库,你也可以了解它们的命名空间和文件夹结构。

示例:

APIRouter - 非常简单的库

Intervention (Laravel) - 更全面,更大的代码库,但仍然易于遵循(结构方面)

根据您的包装,如果您有多种型号的模型,那么为您的模型添加另一级别的命名空间是明智的,否则您根本不需要。