我一直在使用作曲家安装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}
这是我的目录结构:
这是我的代码:
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课程仍然不起作用,有人可以告诉我为什么吗?
答案 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
,以便更新自动加载包含文件。