我遇到了一些麻烦。我正在使用 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.*"
}
}
然后,我运行了作曲家更新,并更新了所有内容。我检查了供应商文件夹,并创建了一个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 。我该怎么办?
答案 0 :(得分:1)
感谢Laurynas Mališauskas和user2930475获得此答案(在我的帖子的评论中)。
看起来我忽略了如下一行:
use PayPal\Auth;
在我的app.php文件中。
添加后,我还需要将我的新课程更改为:
$cred = new PayPal\Auth\OAuthTokenCredential("AQkquBDf1zctJOWGKWUEtKXm6qVhueUEMvXO_-MCI4DQQ4-LWvkDLIN2fGsd","EL1tVxAjhT7cJimnz5-Nsx9k2reTKSVfErNQF-CmrwJgxRtylkGTKlU4RvrX", $sdkConfig);
请注意,我的所有控制器实际上都在app.php文件中。
答案 1 :(得分:0)
实际上,您根本不需要向app.php添加任何内容。就这样做:
use PayPal\Auth\OAuthTokenCredential.php;
class YourController{
public function myAction(){
// ...
$cred = new OAuthTokenCredential("AQkquB...","EL1tVx...", $sdkConfig);
// ...
}
}
您永远不需要修改app.php只是为了使用类。