未找到ServiceProvider绑定类

时间:2017-05-03 12:39:16

标签: php laravel laravel-5.4

案例(L5.4)
目前正在尝试使用package development Laravel商品编写api包装器。

我有ServiceProvider绑定模型(Niki::class

class NikiServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot()
    {
        $this->publishes([
            __DIR__ . '/config/niki.php' => config_path('niki.php'),
        ]);
    }

    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        $this->app->bind('niki', function () {
            return new Niki;
        });
    }
}

注册组件名称的Facade

class Facade extends \Illuminate\Support\Facades\Facade
{
    /**
     * Get the registered name of the component.
     *
     * @return string
     */
    public static function getFacadeAccessor()
    {
        return 'niki';
    }
}

model

class Niki extends Model
{
    /**
     *  Config
     *
     * @var array
     */

    public function __construct()
    {
        $this->config = config('niki')['api_key'];
    }

    public static function getHouses()
    {        
        $response = $this->config;

        return $response;
    }
}

以上文件位于packages/prsc/niki/src,正在使用psr-4自动加载加载:

"psr-4": {
    "App\\": "app/",
    "PRSC\\Niki\\": "packages/prsc/niki/src/"
},

错误
所以现在我的问题是,ServiceProvider中的绑定因为找不到文件而返回FatalError。

  

NikiServiceProvider.php第37行中的FatalThrowableError:Class   'PRSC \ Niki'未找到

1 个答案:

答案 0 :(得分:1)

我认为它只是一个命名空间问题。我不确定我对你的命名空间有什么线索,但这里应该有用(如果我没有误解):

替换:

return new Niki;

人:

return new \PRSC\Niki\Niki; 

如果不起作用,请在您粘贴的每个代码段中添加命名空间。