所以我想创建我的第一个服务提供商和免费Facade在Laravel。Laravel 5.2什么在外观getFacadeAccessor返回
服务提供商:
<?php namespace Jbm\Providers;
use Illuminate\Contracts\Http\Kernel;
use Illuminate\Http\Request;
use Illuminate\Support\ServiceProvider as BaseServiceProvider;
use Jbm\Helpers\ReportGenerator;
class ReportGeneratorServiceProvider extends BaseServiceProvider
{
/**
* Indicates if loading of the provider is deferred.
*
* @var bool
*/
protected $defer = true;
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
$this->app->bind('Jbm\Helpers\Contracts\ReportGeneratorContract', function($app){
return new ReportGenerator();
});
}
/**
* Add the Cors middleware to the router.
*
* @param Kernel $kernel
*/
public function boot(Request $request, Kernel $kernel)
{
//
}
/**
* Get the services provided by the provider.
*
* @return array
*/
public function provides()
{
return array('jbm.reportGenerator');
}
}
门面:
似乎每包我看事情处理方式不同。我感到困惑的一件事是在门面回归getFacadeAccessor()
应该是什么。在我的服务提供商中,我说它提供jbm.reportGenerator
,然后在Facade中使用它,但我不知道如何连接到我已注册的内容。任何帮助将不胜感激。
更新:
我决定将我的服务提供商和我的门面,以我的配置/ app.php,然后试图在控制器使用它,它说:“报告生成未找到”。因此,它显然是不工作...不知道为什么
更新2:
的名字,现在我得到Call to undefined method Jbm\Facades\ReportGenerator::parseConfig()
取出后点。
你可以尝试将jbm.reportGenerator重命名为reportGenerator吗?我不确定你是否可以使用像这样的点 –