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

Lar*_*y K 2 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"类

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

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

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

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

小智 6

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

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

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