我希望在我的包中使用模型。我查看了laravel论坛/博客,但无法找到这个问题的明确答案。
我的模型应该放在哪里以及它们应该如何命名?
我知道如何自动加载我的模型等,但模型应该进入:
panthro/package/src/models
并命名为:
panthro/package
或位于:
panthro/package/src/panthro/package/models
并命名为:
panthro/package/models
什么是正确的还是有另一种解决方案?
答案 0 :(得分:1)
您的模型可以驻留在任何地方,只要它们可以找到。但是为了使事情更加一致,我建议你将它们放在panthro/package/src/
(或者包的名称)中,因为src
文件夹几乎等同于app
文件夹你的Laravel主要项目。
至于命名空间,我认为只是让你的命名空间在整个包中尽可能保持一致,通常以Author\PackageName
开头,例如:
namespace Panthro\Package;
虽然我比将包名称命名为Package
更具体。
如果你看一下laravel的插件库,你也可以了解它们的命名空间和文件夹结构。
示例:
APIRouter - 非常简单的库
Intervention (Laravel) - 更全面,更大的代码库,但仍然易于遵循(结构方面)
根据您的包装,如果您有多种型号的模型,那么为您的模型添加另一级别的命名空间是明智的,否则您根本不需要。