我在Bluemix中運行了一個有效的PHP應用程序,我想要擴展以調用RESTful服務(Insights for Twitter)。由於PHP沒有內置的方式來調用服務,我環顧四周,決定使用Guzzle。無法在Bluemix上的Laravel應用中使用Guzzle
我從它的Git下載狂飲6.0.2和進口壓縮到我httdocs /供應商路徑,並更名爲進口路徑GuzzleHttp我改變了我的buildpack讓PHP 5.5及更新composer.json到自動加載.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
我不知道爲什麼它在尋找應用程序\ Http \ Controllers \但我試過copyi ng Guzzle src文件夾 - 其中包括Client.php - 有,將其重命名爲GuzzleHttp,但它仍然以相同的方式失敗。
我既不是PHP也不是Laravel的專家。我繼承了來自實習團隊的代碼,所以我不太清楚所有的部分如何組合在一起。
我有一些問題:
我真的需要在我的工作區安裝狂飲或將其從buildpack自動拾取?
我是否以正確的方式導入了Guzzle代碼?
爲什麼它在我的控制器路徑中尋找Guzzle客戶端?
是否有一個很好的PHP示例程序來驅動Twitter的Insights?我在Javascript中找到了一個,但我需要運行這個服務器端?
當然,最重要的是,我需要做些什麼來實現這個目標?
回答任何或所有的這些問題爾德不勝感激
如果你使用,你需要導入這樣的'$客戶端=新\ GuzzleHttp \ Client客戶端類的全名...'或如果你從'使用GuzzleHttp \ Client;' - >'$ client = new Client ...'進口'' –