使用具有命名空间的Unirest php lib

时间:2013-04-28 20:20:02

标签: php unirest

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

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

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

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

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

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

然后我尝试使用命名空间(请参阅库的code。在声明Namespace Unirest类之前,他们使用Unirest语句。)

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

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

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

1 个答案:

答案 0 :(得分:6)

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

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

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