首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“无法解决依赖关系解决”错误,

“无法解决依赖关系解决”错误,
EN

Stack Overflow用户
提问于 2015-11-06 02:30:55
回答 1查看 5.9K关注 0票数 1

我正在尝试构建自定义服务提供程序包,但是我遇到了以下错误。有人有这方面的经验吗?

Unresolvable dependency resolving [Parameter #0 [ <required> $app ]] in class Illuminate\Support\ServiceProvider

包文件夹结构:

代码语言:javascript
复制
[root]
....packages/
........mbarwick83/
............previewr/
................src/
....................PreviewrServiceProvider.php
....................Previewr.php
................composer.json

config/app.php:

Mbarwick83\Previewr\PreviewrServiceProvider::class

服务提供者:

代码语言:javascript
复制
<?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);
        });
    }
}

Previewr.php (类):

代码语言:javascript
复制
<?php

namespace Mbarwick83\Previewr;

class Previewr
{
    /**
     * Create a new Previewr Instance
     */
    public function __construct()
    {
        //
    }

    /**
     * Friendly welcome
     *
     * @param string $phrase Phrase to return
     *
     * @return string Returns the phrase passed in
     */
    public function something($phrase)
    {
        return $phrase;
    }
}

Controller/view:

use Mbarwick83\Previewr\PreviewrServiceProvider as Previewr;

public function index(Previewr $previewr)
{
    echo $previewr->something('Hello, League!');
}

composer.json:

代码语言:javascript
复制
"autoload": {
        "psr-4": {
            "Mbarwick83\\Previewr\\": "packages/Mbarwick83/Previewr/src"
        }
    },
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-06 02:39:19

在控制器中,确实要注入服务提供者吗?

代码语言:javascript
复制
use Mbarwick83\Previewr\PreviewrServiceProvider as Previewr;

很有可能你想用这个来代替:

代码语言:javascript
复制
use Mbarwick83\Previewr\Previewr;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33558495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档