【问题标题】:Paypal sdk with laravel - getting Client_id/secret from env file带有 laravel 的 Paypal sdk - 从 env 文件中获取 Client_id/secret
【发布时间】:2016-08-30 15:00:19
【问题描述】:

我像这样将我的贝宝密码和客户 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 是一种更好的方法(最佳实践),如果我错了,请纠正我! !!

【问题讨论】:

  • 不是您问题的答案,但为了良好的实践,常量应该全部大写
  • 谢谢你:3 好的做法建议总是被应用

标签: laravel paypal payment-gateway


【解决方案1】:

我设法使这项工作像这样

 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));
    }
}

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2021-02-28
      • 2017-04-01
      • 2016-07-13
      • 2020-02-18
      • 2013-08-24
      • 2019-12-10
      • 1970-01-01
      • 2017-12-08
      相关资源
      最近更新 更多