因此,我在my_drupal_module / lib / Drupal /中将Composer安装了Paypal REST API(https://github.com/paypal/rest-api-sdk-php),现在我想在模块的函数中使用名称空间。我知道我需要像xautoload(https://drupal.org/project/xautoload)这样的东西,所以我尝试了类似的东西:

$ payer =新的\ Drupal \ vendor \ PayPal \ Api \ Payer;

带有和不带有第一个斜杠,以及带有和不带括号的末尾,但是它不起作用。我补充说:

需要DIR。 '/lib/Drupal/vendor/autoload.php';

但还是一无所有,所以我发表了评论。同时,我发现了这一点:https://drupal.org/node/1976206解释了这个问题,但是我不清楚在hook_xautoload()中确切写什么,或者直接注册我所拥有的设置。有人可以帮忙吗?

最佳答案

没关系。我解决了感谢proloy03,他给了我这个主意:https://drupal.org/node/2096621

您不需要xautoload来加载类和名称空间,只需实现hook_init即可,如下所示:

function my_module_init() {
    require __DIR__ . '/vendor/autoload.php';
}


然后在您的函数中编写:

$payer = new PayPal\Api\Payer();


而且一切正常。

关于php - Drupal 7 xautoload作曲器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21096842/

10-15 15:36