带 laravel 的 Paypal sdk - 从 env 文件中获取 Client_id/secret

Paypal sdk with laravel - getting Client_id/secret from env file

我像这样将我的贝宝密码和客户端 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
}

但这会引发 错误

FatalErrorException in PaypalPaymentController.php line 41:

Constant expression contains invalid operations

任何人都可以向我解释为什么它不起作用吗?我该如何修复它!

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

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

我设法使它像这样工作

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