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

Я буду придерживаться хака, пока пинаю шины, затем, если я приму библиотеку, я пойду по пути композитора (намного лучше, я думаю).

Другие вопросы по тегам