如何将Paypal SDK加载到Silex中?

时间:2013-11-27 19:44:47

标签: php symfony paypal paypal-sandbox silex

我遇到了一些麻烦。我正在使用 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 。我该怎么办?

2 个答案:

答案 0 :(得分:1)

感谢Laurynas Mališauskasuser2930475获得此答案(在我的帖子的评论中)。

看起来我忽略了如下一行:

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只是为了使用类。