我有一个问题!我有一个图书馆,无论什么时候需要打电话,我都会把它包含在& new Class()
如下面的链接。
现在,我希望将它包含在Lumen框架和&通常调用inton Controller,然后如何在Lumen中注册服务,类以使其舒适,以便在需要时调用new FileMaker();
非常感谢你!
答案 0 :(得分:1)
您正在寻找的是Service Provider。不是在控制器中包含文件,而是新建一个类的实例,最好在服务提供者中注册该类,然后从IoC container中解析该对象。
如何注册提供者的示例:
public function register()
{
$this->app->singleton('Full\Vendor\Namespace\FileMaker', function($app) {
return new FileMaker('someparameters');
});
}
这样做意味着您可以将依赖项注入到Controller和Laravel中,或者Lumen在这种情况下会自动解析对象而无需实例化对象。
例如,在您的控制器中:
public function someControllerMethod(FileMaker $filemaker)
{
// The $filemaker instance is available to use
}