gpt4 book ai didi

php - 如何使用 Phalcon 自动加载器自动加载 PayPal 类?

转载 作者:搜寻专家 更新时间:2023-10-31 21:26:04 28 4
gpt4 key购买 nike

Phalcon 自动加载器配置如下:

$loader = new Phalcon\Loader;
$loader->registerDirs(array(
'../app/4/controllers/',
'../app/models/',
'../app/services',
'../app/forms/',
'../app/vendor/'
))->register();

目录树是:

app
├───services
│ ├─── PayPalService.php - important
└───vendor
└───PayPal
├───Api
│ └───Amount.php
│ └───and all other files
├───Auth
├───Common
├───Converter
├───Core
├───Exception
├───Handler
├───Rest
├───Security
├───Transport
└───Validation

在PalPalService.php的开头有:

use PayPal\Api\Amount;
use PayPal\Api\Details;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\Payer;
use PayPal\Api\Payment;
use PayPal\Api\RedirectUrls;
use PayPal\Api\Transaction;
use PayPal\Rest\ApiContext;

Phalcon 自动加载器显然找不到这些类,所以我得到错误 Undefined class constant 'PayPal'。对于不使用 namespace 的其他类,此自动加载器可以工作。怎么了?如何在没有 Composer 的情况下使用 PayPal SDK?我认为 Phalcon 的自动加载器应该可以处理它。

我也试过:

$loader->registerNamespaces(
array(
"PayPal" => "../app/vendor/PayPal/"
)
);

它仍然没有找到 PayPal 类。我不想列出每个 PayPal 目录,因为根据文档 Phalcon 的自动加载器应该将命名空间分隔符更改为目录分隔符。

最佳答案

"../app/vendor/PayPal/" 应该是 "../app/vendor/"

$loader->registerNamespaces(
array(
"PayPal" => "../app/vendor/"
)
);

关于php - 如何使用 Phalcon 自动加载器自动加载 PayPal 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35953105/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com