2

我正在尝试使用unirest,一个用于进行休息调用的新 php 库。

我想将它放在我的项目上方的系统范围的目录中。然后我包括它:

require_once ('../unirest-php-master/lib/Unirest/Unirest.php');

负载很好。然后我按照自述文件使用它:

$response = Unirest::post(CSWA_URL ....

我收到致命错误:第 23 行的 ...hello_world/sign_start.php 中找不到类 'Unirest'

然后我尝试使用命名空间(参见库的代码。他们Namespace Unirest在声明Unirest类之前使用了一个语句。)

$response = Unirest\Unirest::post(CSWA_URL ....

我走得更远了。现在:致命错误:第 26 行的 ....unirest-php-master/lib/Unirest/Unirest.php 中找不到类 'Unirest\HttpMethod' -- 这是库代码中的错误!

问:我做错了什么吗?Unirest 的作者是否犯了错误?我必须将库放在 ./lib 中吗?最好的解决办法是什么?

4

1 回答 1

6

看起来 Unirest.php 中的 Unirest 代码依赖于从 unirest lib 目录中的其他两个文件(HttpMethod.php 和 HttpResponse.php)自动加载代码。

作者建议使用composer安装包,如果你这样做,composer 会将 Unirest 命名空间添加到它生成的 autoloader.php 脚本中。从那里您需要在脚本顶部需要 autoload.php 文件,它将处理加载未定义的类。

或者,如果您不想使用 composer,我也只需要脚本顶部 unirest lib 目录中的其他两个文件。

于 2013-04-28T20:52:45.303 回答