【发布时间】:2013-11-27 19:44:47
【问题描述】:
我遇到了一些麻烦。我正在使用 Silex,并且正在尝试将 Paypal SDK 加载到其中。我认为我的问题与我对 Silex 的理解有关,这就是我在这里发布它的原因。
我的设置
Paypal 的开发者网站says to add a few lines to the composer file(PHP 选项卡)。所以,我已经做到了。我的新作曲家文件看起来像这样(最后四个条目是 Paypal 建议的):
{
"require": {
"silex/silex": "1.0.*@dev",
"symfony/browser-kit": "2.1.*",
"symfony/console": "2.1.*",
"symfony/css-selector": "2.1.*",
"symfony/dom-crawler": "2.1.*",
"symfony/filesystem": "2.1.*",
"symfony/finder": "2.1.*",
"symfony/form": "2.1.*",
"symfony/locale": "2.1.*",
"symfony/process": "2.1.*",
"symfony/security": "2.1.*",
"symfony/serializer": "2.1.*",
"symfony/translation": "2.1.*",
"symfony/validator": "2.1.*",
"symfony/monolog-bridge": "2.1.*",
"symfony/twig-bridge": "2.1.*",
"monolog/monolog": ">=1.0.0,<1.2-dev",
"twig/twig": ">=1.2.0,<2.0-dev",
"doctrine/dbal": ">=2.2.0,<2.4.0-dev",
"swiftmailer/swiftmailer": "4.1.*",
"php": ">=5.3.0",
"ext-curl": "*",
"ext-json": "*",
"paypal/rest-api-sdk-php" : "0.7.*"
}
}
然后,我运行 composer update,它更新了所有内容。我检查了供应商文件夹,并且已经创建了一个 paypal 文件夹,并且看起来不错。
问题
不幸的是,即使我已经完成了上述步骤,它仍然无法正常工作。我正在关注beginners steps outlined on Paypal's website,似乎找不到其中一个 Paypal 类。
导致错误的行直接取自上面链接的“初学者步骤”页面。为了快速参考,我也会在下面提供:
$cred = new OAuthTokenCredential("AQkquBDf1zctJOWGKWUEtKXm6qVhueUEMvXO_-MCI4DQQ4-LWvkDLIN2fGsd","EL1tVxAjhT7cJimnz5-Nsx9k2reTKSVfErNQF-CmrwJgxRtylkGTKlU4RvrX", $sdkConfig);
不幸的是,该行导致错误提示:
Fatal error: Class 'OAuthTokenCredential' not found in ...
总结...
问题似乎是 Silex 没有加载(或提供)类 OAuthTokenCredential。我该怎么办?
【问题讨论】:
-
您是否将paypal目录添加到自动加载?
-
您是否添加了“使用”语句以将类包含在您正在使用的文件中?我不确定该类的命名空间是什么。查找命名空间并添加您的 use 语句。类似
use Paypal\Name\Space\OAuthTokenCredential.php -
@LaurynasMališauskas 嗯,我的印象是 composer 会处理所有自动加载的东西。我所做的只是我在帖子中列出的内容。我错过了什么吗?
-
@user2930475,我如何确定命名空间是什么?
-
忽略我的评论。你是对的 :) 你可以通过打开需要的类文件找到你需要的命名空间
标签: php symfony paypal paypal-sandbox silex