1

我有个问题!我有一个图书馆,每当我需要打电话时,我都会把它包含new Class()在下面的链接中。

现在,我想将它与 Lumen 框架一起使用并通常在控制器中调用,然后如何在 Lumen 中注册服务、类以使其舒适,以便在需要时只需调用new FileMaker();

http://laravel.io/bin/E3d9x

非常感谢!

4

1 回答 1

1

您正在寻找的是Service Provider。与其在控制器中包含文件,然后新建一个类的实例,不如在服务提供者中注册该类,然后将对象从IoC 容器中解析出来。

如何注册提供者的示例:

public function register()
{
    $this->app->singleton('Full\Vendor\Namespace\FileMaker', function($app)     {
        return new FileMaker('someparameters');
    });
}

这样做意味着您可以将依赖项注入到您的控制器和 Laravel 中,或者在这种情况下,Lumen 将自动解析对象,而无需您实例化对象。

例如,在您的控制器中:

public function someControllerMethod(FileMaker $filemaker)
{
    // The $filemaker instance is available to use
}
于 2015-05-11T16:48:51.770 回答