Php 如何将Paypal SDK加载到Silex中?

Php 如何将Paypal SDK加载到Silex中?,php,symfony,paypal,paypal-sandbox,silex,Php,Symfony,Paypal,Paypal Sandbox,Silex,我有点麻烦。我正在使用Silex,我正在尝试将Paypal SDK加载到其中。我认为我的问题与我对Silex的理解有关,这就是为什么我在这里发布它 我的设置 贝宝的开发者网站(PHP标签)。所以,我已经做到了。我的新composer文件看起来是这样的(最后四个条目是Paypal建议的): 不幸的是,该行导致一个错误,显示: Fatal error: Class 'OAuthTokenCredential' not found in ... 总而言之。。。 问题似乎是Silex没有加载或提供类O

我有点麻烦。我正在使用Silex,我正在尝试将Paypal SDK加载到其中。我认为我的问题与我对Silex的理解有关,这就是为什么我在这里发布它

我的设置 贝宝的开发者网站(PHP标签)。所以,我已经做到了。我的新composer文件看起来是这样的(最后四个条目是Paypal建议的):

不幸的是,该行导致一个错误,显示:

Fatal error: Class 'OAuthTokenCredential' not found in ...
总而言之。。。 问题似乎是Silex没有加载或提供类OAuthTokenCredential。我该怎么办?

谢谢你的回答(在我帖子的评论中)

看起来我忘了写一行,比如:

use PayPal\Auth;
在我的app.php文件中

添加后,我还需要将我的新课程行更改为:

$cred = new PayPal\Auth\OAuthTokenCredential("AQkquBDf1zctJOWGKWUEtKXm6qVhueUEMvXO_-MCI4DQQ4-LWvkDLIN2fGsd","EL1tVxAjhT7cJimnz5-Nsx9k2reTKSVfErNQF-CmrwJgxRtylkGTKlU4RvrX", $sdkConfig);


请注意,我的所有控制器实际上都在app.php文件中。

实际上,您根本不需要向app.php添加任何内容。只要这样做:

use PayPal\Auth\OAuthTokenCredential.php;

class YourController{
    public function myAction(){
        // ...
        $cred = new OAuthTokenCredential("AQkquB...","EL1tVx...", $sdkConfig);
        // ...
    }
}

您不应该仅仅为了使用类而修改app.php。

是否将paypal目录添加到autoload?是否添加了“use”语句以将该类包含在您正在使用它的文件中?我不确定这个类的名称空间是什么。查找名称空间并添加use语句。类似于
使用Paypal\Name\Space\OAuthTokenCredential.php
@LaurynasMališauskas-Hmm,我的印象是composer会处理所有自动加载的东西。我所做的就是在我的帖子中列出的。我遗漏了什么吗?@user2930475,我如何确定名称空间是什么?忽略我的评论。你是对的:)你可以通过打开所需的类文件找到你所需的名称空间实际上,在我的例子中,因为我的应用程序很小,所以我使用Silex可选的“app.php文件中的所有内容”微框架方法。我没有使用任何外部控制器。但如果我有外部控制器,你的方法肯定会更有意义。+1,谢谢你,这对我在相同情况下运行有很大帮助
$cred = new PayPal\Auth\OAuthTokenCredential("AQkquBDf1zctJOWGKWUEtKXm6qVhueUEMvXO_-MCI4DQQ4-LWvkDLIN2fGsd","EL1tVxAjhT7cJimnz5-Nsx9k2reTKSVfErNQF-CmrwJgxRtylkGTKlU4RvrX", $sdkConfig);
use PayPal\Auth\OAuthTokenCredential.php;

class YourController{
    public function myAction(){
        // ...
        $cred = new OAuthTokenCredential("AQkquB...","EL1tVx...", $sdkConfig);
        // ...
    }
}