Php &引用;不可解决的依赖项解析“;错误,Laravel服务提供商
我正在尝试构建一个定制的服务提供者包,但是我遇到了以下错误。有人有这方面的经验吗Php &引用;不可解决的依赖项解析“;错误,Laravel服务提供商,php,laravel,laravel-5,package,laravel-5.1,Php,Laravel,Laravel 5,Package,Laravel 5.1,我正在尝试构建一个定制的服务提供者包,但是我遇到了以下错误。有人有这方面的经验吗 在类中解析不可解析的依赖项[Parameter#0[$app]]照亮\Support\ServiceProvider 包文件夹结构: [root] ....packages/ ........mbarwick83/ ............previewr/ ................src/ ....................PreviewrServiceProvider.php ..........
在类中解析不可解析的依赖项[Parameter#0[$app]]照亮\Support\ServiceProvider
包文件夹结构:
[root]
....packages/
........mbarwick83/
............previewr/
................src/
....................PreviewrServiceProvider.php
....................Previewr.php
................composer.json
config/app.php:
Mbarwick83\Previewr\PreviewrServiceProvider::class
服务提供者:
<?php
namespace Mbarwick83\Previewr;
use Illuminate\Support\ServiceProvider;
class PreviewrServiceProvider extends ServiceProvider
{
/**
* Indicates if loading of the provider is deferred.
*
* @var bool
*/
protected $defer = false;
/**
* Perform post-registration booting of services.
*
* @return void
*/
public function boot()
{
//
}
/**
* Register any package services.
*
* @return void
*/
public function register()
{
$this->app->bind('Mbarwick83\Previewr\Previewr',function($app){
return new Previewr($app);
});
}
}
在控制器中,是否确实要注入服务提供商
use Mbarwick83\Previewr\PreviewrServiceProvider as Previewr;
您可能希望使用此选项:
use Mbarwick83\Previewr\Previewr;
你试过使用
composer dump autoload
和composer update
吗?@aldrin27是的,我试过了。好的,这就解决了!!问题-这有什么用(对不起,广义的问题)…但这是干什么用的?另外,如果我要使用facade
进行注射,我会使用use Mbarwick83\Previewr\Facades\Previewr代码>相反是正确的(假设我当然创建了facade类。您不注入facades。如果您使用注入,facades没有任何意义。facades通常建议具有“复杂类”的服务使用因此,facades将隐藏复杂性,并以更简单的形式向客户端公开功能。否则,facade本身将增加复杂性。
use Mbarwick83\Previewr\PreviewrServiceProvider as Previewr;
use Mbarwick83\Previewr\Previewr;