我在开发Laravel软件包时正在努力解决所需的依赖项。
在包中设置服务提供程序时,需要illuminate/support
包。当包包含控制台命令时,需要illuminate/console
包。
-
像
storage_path()
或config()
这样的全球助手呢?我找不到包含它们的照明包。 -
为什么不只要求他们的包裹
laravel/framework
?所有类和函数都将可用。无论如何,它在项目中都可用。
当您要求包仅在 Laravel 项目中使用时,通常需要将laravel/framework
作为依赖项。
但是,跳过这些全局帮助程序函数并尝试将它们与直接函数调用一起使用几乎总是一个更好的主意。也许您可以降低您拥有的依赖项数量。
如果不直接将laravel/framework
用作依赖项,请确保测试软件包时不要将其安装在普通的Laravel软件包中。小型单元测试有助于测试功能。
我做了一个"拉拉维尔"包装。我也遇到了这个问题。也许你可以看看它:https://github.com/markwalet/laravel-hashed-route
它仅使用以下Laravel特定的依赖项:
"illuminate/config": "~5.5",
"illuminate/database": "~5.5",
"illuminate/support": "~5.5"