Class \ GuzzleHttp \ Client找不到作曲家

时间:2016-11-24 04:25:25

标签: php composer-php guzzle6

我一直在使用作曲家安装Guzzle并尝试使用它, 但是我收到了错误

  

致命错误:未捕获错误:在/var/www/html/4travelo_beta/config/RequestConf.php:28中找不到类'Conf \ GuzzleHttp \ Client'堆栈跟踪:#0 / var / www / html / 4travelo_beta / config / RequestConf.php(85):在第28行的/var/www/html/4travelo_beta/config/RequestConf.php中抛出的Conf \ RequestConf-> __ construct()#1 {main}

这是我的目录结构:

Dirctory Structure

这是我的代码:

 namespace Conf ;

    require '../vendor/autoload.php';

    use GuzzleHttp\Client;
    use GuzzleHttp\Psr7;
    use GuzzleHttp\Psr7\Request;
    use GuzzleHttp\Psr7\Response;
    use GuzzleHttp\Psr7\Uri;

    class RequestConf
    {
     /**
        /**
         * @var Client HTTPClient object
         */
        private $httpClient;

        /**
         * HotelApiClient Constructor they initialize SDK Client.
         * @param int $timeout HTTP Client timeout
         */

        function __construct()
        {
            $this->$httpClient = new GuzzleHttp\Client(['base_url' => 'https://api.test.com/']);
        }
}

my composer.json:

    {
    "autoload": {
        "psr-4": {

            "Conf\\": "config/",
            "Model\\": "model/"
        }
    },
    "require": {
        "guzzlehttp/guzzle": "~6.0"
    }
}

我一直在更新我的作曲家,但Guzzle课程仍然不起作用,有人可以告诉我为什么吗?

2 个答案:

答案 0 :(得分:1)

TL; DR 只需尝试= new Client(...),因为您已导入GuzzleHttp\Client,或者只是删除此导入。

您正在尝试创建GuzzleHttp\Client的实例,并且因为没有导入的命名空间,如GuzzleHttp(带有use),PHP会尝试在当前命名空间中查找该类。最后,您会收到有关Config\GuzzleHttp\Client

的错误消息

所以应该是这样的:

 function __construct()
 {
      $this->httpClient = new Client(['base_url' => 'https://api.test.com/']); // Please also note removed '$' from httpClient, because it a field.
 }

答案 1 :(得分:1)

您可能需要使用c and d,以便更新自动加载包含文件。