从http://phphttpclient.com我遵循“安装选项 1”和第一个“快速片段”。
我最终得到以下内容,请求未定义。
此外,也许与此相关,我对以下事实感到困惑:其中一个代码示例显示“$response = Request::get”而另一个显示“$response = \Httpful\Request::get”。后者是有效的 PHP 吗?
我有 PHP 5.6.7。
我究竟做错了什么?
从http://phphttpclient.com我遵循“安装选项 1”和第一个“快速片段”。
我最终得到以下内容,请求未定义。
此外,也许与此相关,我对以下事实感到困惑:其中一个代码示例显示“$response = Request::get”而另一个显示“$response = \Httpful\Request::get”。后者是有效的 PHP 吗?
我有 PHP 5.6.7。
我究竟做错了什么?
是的,\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
我只是按照作者建议的“快速破解”安装并得到了相同的结果。然后我使用了完全限定的命名空间并让它工作。
作为 :
$response = \Httpful\Request::get($uri)->send(); // qualified namespace here
当我踢轮胎时,我会坚持使用hack,然后如果我采用lib,我会走作曲家路线(更好的imo)。