1

http://phphttpclient.com我遵循“安装选项 1”和第一个“快速片段”。

我最终得到以下内容,请求未定义。

在此处输入图像描述

在此处输入图像描述

此外,也许与此相关,我对以下事实感到困惑:其中一个代码示例显示“$response = Request::get”而另一个显示“$response = \Httpful\Request::get”。后者是有效的 PHP 吗?

我有 PHP 5.6.7。

在此处输入图像描述

我究竟做错了什么?

4

2 回答 2

6

是的,\Httpful\Request::get()是有效的 PHP。Request它告诉 PHP 您正在命名空间中寻找类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

于 2015-07-18T13:47:26.003 回答
1

我只是按照作者建议的“快速破解”安装并得到了相同的结果。然后我使用了完全限定的命名空间并让它工作。

作为 :

$response = \Httpful\Request::get($uri)->send(); // qualified namespace here

当我踢轮胎时,我会坚持使用hack,然后如果我采用lib,我会走作曲家路线(更好的imo)。

于 2015-07-18T13:27:09.483 回答