PHP - Как заставить работать httpful phar
С http://phphttpclient.com/ я следовал "Установить вариант 1" и первый "быстрый фрагмент".
Я в конечном итоге с запросом не определено.
Кроме того, и, возможно, в связи с этим, меня смущает тот факт, что в одном из примеров кода написано "$response = Request::get", а в другом - "$response = \Httpful\Request::get". Последний действительный PHP?
У меня PHP 5.6.7.
Что я делаю неправильно?
2 ответа
Да, \Httpful\Request::get()
действует PHP. Он говорит PHP, что вы ищете класс Request
в пространстве имен Httpful
, Подробнее о пространствах имен: http://php.net/manual/en/language.namespaces.php
Причина, по которой вы можете позвонить \Httpful\Request::get()
, но не могу позвонить Request::get()
связано с пространством имен. В вашем index.php
вы не определяете пространство имен. Поэтому PHP просто ищет класс Request
в глобальном пространстве (при вызове Request::get()
). PHP не проверяет, есть ли Request
класс в другом пространстве имен.
Вы можете use
(импорт) класс, который будет препятствовать тому, чтобы вам приходилось вводить все пространство имен каждый раз, когда вы хотите использовать Request
учебный класс:
<?php
use Httpful\Request;
$request = Request::get()
# you can also rename the class if you have multiple Request classes
use Httpful\Request as Banana;
$request = Banana::get()
Больше на эту тему: http://php.net/manual/en/language.namespaces.importing.php
Я просто следовал установке "быстрого взлома", предложенной автором, и получил тот же результат. Затем я использовал полностью определенное пространство имен и заставил его работать.
как:
$response = \Httpful\Request::get($uri)->send(); // qualified namespace here
Я буду придерживаться хака, пока пинаю шины, затем, если я приму библиотеку, я пойду по пути композитора (намного лучше, я думаю).