首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有找到Laravel 5自定义ServiceProvider

没有找到Laravel 5自定义ServiceProvider
EN

Stack Overflow用户
提问于 2015-06-25 12:56:56
回答 2查看 3.9K关注 0票数 1

我正在为一个包裹做一个拉拉维尔ServiceProvider。这个包是https://github.com/sumocoders/Teamleader

我得到以下错误

'Notflip\Teamleader\TeamleaderServiceProvider‘第150行中的FatalErrorException :未找到类ProviderRepository.php

我不知道我做错了什么,这是我的文件夹结构

composer.json in my package

代码语言:javascript
复制
"autoload": {
    "psr-4": {
       "Notflip\\Teamleader": "src/"
    }
}

TeamleaderServiceProvider

代码语言:javascript
复制
<?php namespace Teamleader\Laravel;

use Illuminate\Support\ServiceProvider;

class TeamleaderServiceProvider extends ServiceProvider
{
    /**
     * Register bindings in the container.
     *
     * @return void
     */
    public function publishes()
    {
        $this->publishes([
            __DIR__.'/Config/config.php' => config_path('teamleader.php'),
        ]);
    }
    public function register()
    {
        $this->app->bind('Teamleader\Laravel', function () {
            return new Teamleader(config('teamleader.API_GROUP'), config('teamleader.API_SECRET'), config('teamleader.SSL'));
        });
    }
}

正面

代码语言:javascript
复制
<?php namespace Teamleader\Laravel\Facade;

class Teamleader extends Facade
{
    protected static function getFacadeAccessor()
    {
        return 'Teamleader';
    }
}

在我的config.php中,我向提供程序添加了以下行

代码语言:javascript
复制
'Notflip\Teamleader\TeamleaderServiceProvider',

和这条线的别名

代码语言:javascript
复制
'Teamleader'=> 'Notflip\Teamleader\Facade\Teamleader'

有人知道我做错了什么吗?谢谢!我离结果太近了!

EN

回答 2

Stack Overflow用户

发布于 2015-06-25 13:17:10

您在composer中的定义缺少初始斜杠,也没有从根指定src的路径。

代码语言:javascript
复制
"psr-4": {
   "\\Notflip\\Teamleader": "notflip/teamleader-laravel/src/"
}

另外,您在TeamleaderServiceProvider顶部的名称空间的声明是错误的,它应该是:

代码语言:javascript
复制
<?php namespace Notflip\Teamleader;
票数 1
EN

Stack Overflow用户

发布于 2015-06-25 14:40:49

解出

在外观中,国际奥委会绑定被命名为错误(错误的情况)。

这个名字应该是小写的“团队领袖”。

正面

代码语言:javascript
复制
class Teamleader extends Facade
{
    protected static function getFacadeAccessor()
    {
        return 'teamleader';
    }
}

服务提供商

代码语言:javascript
复制
<?php namespace Teamleader\Laravel;

use Illuminate\Support\ServiceProvider;

class TeamleaderServiceProvider extends ServiceProvider
{
    /**
     * Register bindings in the container.
     *
     * @return void
     */
    public function publishes()
    {
        $this->publishes([
            __DIR__.'/Config/config.php' => config_path('teamleader.php'),
        ]);
    }
    public function register()
    {
        $this->app->bind('teamleader', function () {
            return new Teamleader(config('teamleader.API_GROUP'), config('teamleader.API_SECRET'), config('teamleader.SSL'));
        });
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31051052

复制
相关文章

相似问题

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