Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5.1-服务提供商无法解决的依赖关系_Php_Laravel 5_Youtube Api_Laravel 5.1_Youtube Data Api - Fatal编程技术网

Php Laravel 5.1-服务提供商无法解决的依赖关系

Php Laravel 5.1-服务提供商无法解决的依赖关系,php,laravel-5,youtube-api,laravel-5.1,youtube-data-api,Php,Laravel 5,Youtube Api,Laravel 5.1,Youtube Data Api,我想使用来自的Youtube包装服务提供商,我得到以下错误 类Alaouy\Youtube\Youtube中无法解析的依赖项解析[参数#0[$key]] 这是我在控制器内的代码: use Alaouy\Youtube\Youtube; class UrlController extends Controller { public function search(Request $request, Youtube $yt) { $yt->parseVIdFr

我想使用来自的Youtube包装服务提供商,我得到以下错误

类Alaouy\Youtube\Youtube中无法解析的依赖项解析[参数#0[$key]]

这是我在控制器内的代码:

use Alaouy\Youtube\Youtube;

class UrlController extends Controller
{
    public function search(Request $request, Youtube $yt)
    {
        $yt->parseVIdFromURL($request->input('url'));
    }

    ....
在register方法中,您可以看到他是如何访问配置文件的,该代码出现在他的API中

$this->publishes(array(__DIR__ . '/../../config/youtube.php' => config_path('youtube.php')));
    $this->app->bindShared('youtube', function () {
        return $this->app->make('Alaouy\Youtube\Youtube', [config('youtube.KEY')]);
    });

“php artisan供应商:发布”-已执行

解决方案是使用Facades

use Youtube;

public function search(Request $request)
{
    Youtube::parseVidFromURL($request->input('url'));
}

感谢论坛成员:

Youtube类在构造函数中有一个强制参数。似乎您的对象试图在没有该参数的情况下实例化..是的,它需要API密钥,但我将API密钥放在提供的配置文件中,我是这样做的:php artisan vendor:Publishen如果你执行了这个命令,你还必须编辑
/app/config/youtube.php
文件并添加你的api密钥。我对供应商文件夹中的config/youtube.php进行了更改,但config/youtube.php覆盖了不更改供应商配置文件的内容。它们将在下次更新包时被覆盖。当您使用
php artisan vendor:publish
发布配置时,会将配置放入您的配置文件夹中,您可以在那里进行更改。