Класс «ГузлHttp \ Клиент» не найден

Я впервые использую BOTH Gozzle и Codeigniter 3.0. Также я признаю, что я использую пространство имен php в первый раз.

Я пытаюсь сделать очень простой запрос на получение, используя Guzzle в соответствии с примерами, представленными в документах. (Документы Guzzle ничего не говорят о кодеригере).

Файлы Guzzle расположены по адресу application / class / guzzle

Вот мой очень простой контроллер

public function indey () { $data = array(); $data['main_content'] = "hiview"; $data['title'] = "Data Analyzer - Welcome"; $data['xas'] = $this->guzzler(); $this->load->view('template', $data); } private function guzzler() { $client = new GuzzleHttp\Client; $response = $client->get('http://guzzlephp.org'); return $response; } 

Это мой простой взгляд

  <div class="row"> <div class="col-xs-12"> <h1>Hi</h1> </div> </div> <div class="row"> <div class="col-xs-12"> <h1><?php var_dump($xas); ?></h1> </div> </div> 

Это ошибка, которую я получаю

Возникла ошибка PHP. Серьезность: Сообщение об ошибке: Class 'GuzzleHttp \ Client' не найден. Имя файла: controllers / hello.php Номер строки: 22 Backtrace:

В application/config/config.php

 $ config ['composer_autoload'] = FCPATH.'vendor / autoload.php ';

он отлично работает для меня

Вы должны загрузить его в своих методах контроллера, где это необходимо или, если необходимо, автозагрузить его. Я использую первое: Сначала: используйте его, используя композитор в папке приложения:

 composer require guzzlehttp/guzzle:~6.0 

Второе: пусть CI автозагрузочный композитор (application / config / config.php)

 $config['composer_autoload'] = TRUE; 

Затем в вашем контроллере

  public function guzzler_get($url, $uri) { $client = new GuzzleHttp\Client(['base_uri' => $url]); $response = $client->get($uri); // print_r($response); // print out response // print out headers: // foreach ($response->getHeaders() as $name => $values) { // echo $name . ': ' . implode(', ', $values) . "\r\n"; // } return $response; } 

Использование:

 $your_var = $this->guzzler_get('http://httpbin.org', '/html'); 

Теперь у вас есть ответ в переменной $your_var . В остальном проверьте документацию. В противном случае используйте «более дружественный» метод / библиотеку для ваших HTTP-запросов, таких как CodeIgniter-cURL или Requests