Paypal sdk with laravel - 从env文件获取Client_id / secret

时间:2016-05-05 00:05:38

标签: laravel paypal payment-gateway

我将我的paypal秘密和客户端ID添加到.env中,如此

.ENV

APP_ENV=local
APP_DEBUG=true
APP_KEY=base64:B/bzbrXZMyRkg//1Do63pacV/pKHtTIYKd42/zq3n6c=

Client_Id='ID GOES HERE'
Client_Secret='SECRET KEY GOES HERE'

我想访问控制器中的那些

PaypalPaymentController

class PaypalPaymentController extends Controller {

    private $_api_context;
    private $_ClientId =    env('Client_Id');
    private $_ClientSecret =    env('Client_Secret');

    public function __construct() {
        $this->_api_context = new ApiContext(new OAuthTokenCredential($this->_ClientId, $this->_ClientSecret));
    }
public function handle(Request $request) {
  //  dd(env('Client_Id')); // when i do this it dumps the Client_id
}

但这会引发错误

  

PaypalPaymentController.php第41行中的FatalErrorException:

     

常量表达式包含无效操作

任何人都可以向我解释为什么它有效吗?我该怎么办呢!

注意:我可以通过将client_id和secret直接添加到控制器来设法完成这项工作,但我认为使用env是一种更好的方法(最佳实践),如果我错了,请纠正我! !!

2 个答案:

答案 0 :(得分:0)

在您的env文件中,该值不应包含任何单引号或双引号。

答案 1 :(得分:0)

我设法让这个工作像这样

 class PaypalPaymentController extends Controller {

    private $_api_context;

    public function __construct() {

        $_ClientId = env('Client_Id');
        $_ClientSecret = env('Client_Secret');

        $this->_api_context = new ApiContext(new OAuthTokenCredential($_ClientId, $_ClientSecret));
    }
}