У меня есть работающее PHP-приложение, работающее в Bluemix, которое я хочу расширить для вызова службы RESTful (Insights for Twitter). Поскольку в PHP нет встроенного способа вызова сервиса, я осмотрелся и решил использовать Guzzle.
Я загрузил Guzzle 6.0.2 из его Git и импортировал zip в свой путь httdocs/vendor и переименовал импортированный путь GuzzleHttp. Я изменил свой пакет сборки, чтобы получить PHP 5.5 и обновленный композитор. .json в свойство Autoload.psr4 с помощью:
"GuzzleHttp\\": "htdocs/vendor/"
Я повторно развернул свое приложение, и оно все еще работало.
Затем я добавил следующий код в свой MainController.php: после некоторых других применений:
use GuzzleHttp\Client;
а потом позже:
$client = new GuzzleHttp\Client([
// Base URI is used with relative requests
'base_uri' => 'https:myserviceURI.mybluemix.net',
// You can set any number of default request options.
'timeout' => 2.0,
]);
// Use guzzle to send a GET request to Watson Twitter Insights
$guzzleresponse = $client->request('GET', '/api/v1/messages/search');
Теперь, когда я повторно развертываю приложение, я получаю:
FatalErrorException in HomeController.php line 100:
Class 'App\Http\Controllers\GuzzleHttp\Client' not found
Я не знаю, почему он ищет в app\Http\Controllers\, но я попытался скопировать папку Guzzle src, которая включает в себя Client.php, туда, переименовал ее в GuzzleHttp, и она по-прежнему терпит неудачу.
Я не эксперт по PHP и не Laravel. Я унаследовал код от команды стажеров, поэтому я не совсем понимаю, как все части сочетаются друг с другом.
У меня есть несколько вопросов:
Мне действительно нужно было установить Guzzle в моем рабочем пространстве, или он будет автоматически загружен из пакета сборки?
Правильно ли я импортировал код Guzzle?
Почему он ищет Guzzle Client на моем пути к контроллерам?
Есть ли хороший образец программы на PHP, который управляет Insights for Twitter? Я нашел один в Javascript, но мне нужно запустить его на стороне сервера?
И, конечно же, самое главное, что мне нужно сделать, чтобы это заработало?
Буду очень признателен за ответы на любой или все эти вопросы
$client = new \GuzzleHttp\Client ...
или если вы импортируете изuse GuzzleHttp\Client;
->$client = new Client ...
- person Tiep Phan   schedule 04.05.2016