Httpful и Laravel, класс ошибки "Httpful" не найден
Я установил Httpful, как описано с добавлением Composer в composer.json следующее:
{
"require": {
"nategood/httpful": "*"
}
}
Я использую Laravel 4, поэтому я побежал composer install
Я проверил, установлен ли плагин и есть ли он, на самом деле в папке vendor laravel я могу найти его. Но я продолжаю получать следующую ошибку:
ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Class 'Httpful' not found'
Я пропускаю несколько шагов?
заранее спасибо
2 ответа
Класс, связанный с этим именем пакета, конфликтует с классом Response Laravel, поэтому вы используете его в Laravel:
$url = "http://api.openweathermap.org/data/2.5/weather?lat=22.569719&lon=88.36972";
$response = \Httpful\Request::get($url)->send();
echo $response->body->name."<br>";
echo $response->body->weather[0]->description;
Класс не Httpful
, но Response
, поэтому вы должны добавить правильное пространство имен, чтобы оно не запуталось в классе ответа Laravel.
РЕДАКТИРОВАТЬ:
В Laravel вы можете создавать псевдонимы для классов. Отредактируйте ваш app/config/app.php и в aliases
добавить массив:
'aliases' => array(
....
'Httpful' => '\Httpful\Request',
),
И вы сможете использовать это так:
$response = Httpful::get($url)->send();
Возможно, вам нужно сделать composer update
скорее, чем composer install
,
Разница в том, install
будет идти тем, что есть в вашем composer.lock
файл, в то время как update
подберет любые новые зависимости, добавленные в ваш composer.json
файл, а затем записать их в свой composer.lock
файл.
Замечания: install
как правило, должны использоваться в производстве, чтобы получить последнюю информацию от вашего composer.lock
файл, в то время как update
обычно это команда, используемая в разработке для получения обновленных зависимостей.
Это также означает, что вы должны добавить composer.lock
в ваш репозиторий GIT, даже если это в вашем .gitignore
файл по умолчанию в новом проекте Laravel.