Lumen(Laravel)包括图书馆和在Controller中使用类

时间:2015-05-11 16:34:33

标签: php laravel lumen

我有一个问题!我有一个图书馆,无论什么时候需要打电话,我都会把它包含在& new Class()如下面的链接。

现在,我希望将它包含在Lumen框架和&通常调用inton Controller,然后如何在Lumen中注册服务,类以使其舒适,以便在需要时调用new FileMaker();

http://laravel.io/bin/E3d9x

非常感谢你!

1 个答案:

答案 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
}