【发布时间】:2016-03-28 07:56:03
【问题描述】:
如果我想在 Lumen 中使用一些自定义类,我应该将它们放在哪里? Laravel 官方文档在application structure、service container 或package development 中都没有提到这一点。实际上,我发现文档在某种程度上相当混乱。
例如,我想设置一个名为Invitation 的服务,我知道我需要在InvitationServiceProvider 中注册这个类,但是我应该将实际类所在的Invitation.php 放在哪里?这个包用于某些特定的应用程序,因此我不想把它放在 composer packagist 中。
顺便说一句,Lumen 框架的版本是 5.2。
【问题讨论】:
-
Laravel 有意不强制执行任何规则,因为每个项目都是不同的,并且在代码结构方面没有一刀切。所以我的建议是在应用程序的上下文中以对您有意义的方式放置和分组类和其他代码。 Application Structure Documentation 实际上以这句话开头:“默认的 Laravel 应用程序结构旨在为大型和小型应用程序提供一个很好的起点”。所以这只是一个起点,其余的取决于你。
-
如果你真的不知道从哪里开始,考虑以下几点:有些人喜欢只按功能分组,所以所有模型都放在
models目录中,事件侦听器放在@987654331 中@dir 等等。如果您有包含大量类的大型模块,那么您可能希望对它们进行分组 (one way to approach that)。把东西放在哪里是一个困扰很多程序员的问题,对我来说,正确命名我的类 (beware ofSomeManager,SomeService, etc) 可以更轻松地对它们进行分组和构造。
标签: php laravel laravel-5.2 lumen lumen-5.2