GuzzleHttp和Laravel - 语法错误 - T_String

时间:2015-06-19 18:12:24

标签: php laravel laravel-5 guzzle

我目前正在尝试使用GuzzleHttp与Laravel根据用户的输入访问API。

到目前为止我的设置:

$client = new \GuzzleHttp\Client();
$response = $client
        ->get('https://api.postcodes.io/postcodes/'Input::get('postcode'));
dd($response->getBody());

但返回的错误是:

  

ClinicController.php第129行中的FatalErrorException:语法错误,   意想不到的'输入' (T_STRING)

第129行是https://api.postcodes.io/postcodes/'Input::get('postcode')

为什么会发生这种情况会有很大的帮助。

2 个答案:

答案 0 :(得分:0)

尝试如下:

$client = new \GuzzleHttp\Client();
 $response = $client
        ->get('https://api.postcodes.io/postcodes/'.Input::get('postcode'));
 dd($response->getBody());

答案 1 :(得分:0)

这是一个简单的PHP错误。这是PHP抱怨的行

->get('https://api.postcodes.io/postcodes/'Input::get('postcode'));

你有一个字符串

'https://api.postcodes.io/postcodes/'

紧接着是Input::get('postcode')。如果您尝试将这两者结合起来,则需要使用.运算符来连接字符串

 'https://api.postcodes.io/postcodes/' . Input::get('postcode')

此外,需要考虑的事项 - 在生产应用程序中,您需要清理或验证Input::get('postcode')实际上包含邮政编码,然后才能在此类URL请求中使用它。始终假设有人会尝试恶意使用您的系统,并且永远不要相信用户输入会包含您认为它包含的内容。