关于在Laravel中加载自定义帮助程序类有很多问题。但是,它们都没有专注于通过适当的初始化加载它们。
从Laravel版本5.3开始,我们可以使用自动加载整个app/
目录的psr-4自动加载。但是,类正在加载但从未初始化。
我在app/helpers/support.php
内有我的帮助班。这个类有一个构造函数,我想加载一些重要的配置,以使帮助程序可用。
那么如何在Laravel中正确加载我的助手,但是初始化呢?现在,我只是在new \App\Helper\Support();
内使用AppServiceProvider.php
解决问题。
编辑:我使用以下方法来维护我的助手类:
答案 0 :(得分:2)
看起来你拥有的是一项服务。您可以在应用服务提供商中声明它,而不是创建实例,并在需要时将其作为依赖项注入。
在register
方法中:
$this->app->bind(\App\Helper\Support::class);
您现在可以使用依赖注入来获取类的实例。您也可以创建一个这样的实例:
app()->make(\App\Helper\Support::class);
如果您只想在任何给定时间存在一个实例,请使用singleton
而不是bind
。
我建议阅读服务容器文档: