【问题标题】:Where to Place My Package in Lumen Framework在 Lumen 框架中放置我的包的位置
【发布时间】:2016-03-28 07:56:03
【问题描述】:

如果我想在 Lumen 中使用一些自定义类,我应该将它们放在哪里? Laravel 官方文档在application structureservice containerpackage development 中都没有提到这一点。实际上,我发现文档在某种程度上相当混乱。

例如,我想设置一个名为Invitation 的服务,我知道我需要在InvitationServiceProvider 中注册这个类,但是我应该将实际类所在的Invitation.php 放在哪里?这个包用于某些特定的应用程序,因此我不想把它放在 composer packagist 中。

顺便说一句,Lumen 框架的版本是 5.2。

【问题讨论】:

  • Laravel 有意不强制执行任何规则,因为每个项目都是不同的,并且在代码结构方面没有一刀切。所以我的建议是在应用程序的上下文中以对您有意义的方式放置和分组类和其他代码。 Application Structure Documentation 实际上以这句话开头:“默认的 Laravel 应用程序结构旨在为大型和小型应用程序提供一个很好的起点。所以这只是一个起点,其余的取决于你。
  • 如果你真的不知道从哪里开始,考虑以下几点:有些人喜欢只按功能分组,所以所有模型都放在models 目录中,事件侦听器放在@987654331 中@dir 等等。如果您有包含大量类的大型模块,那么您可能希望对它们进行分组 (one way to approach that)。把东西放在哪里是一个困扰很多程序员的问题,对我来说,正确命名我的类 (beware of SomeManager, SomeService, etc) 可以更轻松地对它们进行分组和构造。

标签: php laravel laravel-5.2 lumen lumen-5.2


【解决方案1】:

所以最后我在app 下创建了一个名为Service 的文件夹,然后将所有库都拉到里面...

【讨论】:

  • 我正在使用相同的方法。但是,您是否考虑过使用私有存储库来避免对项目特定的类使用 packagegist?
  • 是的,但是因为我想放的只是一些简单的代码,比如加密数据的自定义方法和静态类文件对我来说就足够了。当需要使用一些复杂的包,包括服务提供者和自定义视图等时,我可能会考虑使用私有存储库。
猜你喜欢
  • 2016-03-02
  • 1970-01-01
  • 2012-07-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-06
  • 2011-07-30
  • 1970-01-01
  • 2020-03-28
相关资源
最近更新 更多