在供应商文件夹中设置 Public 静态

Set Public Static in Vendor Folder

我想在 vendor 文件夹中设置 public 静态变量。

我想改变这个

public static $serverKey_as = 'my-secret-key';

进入这里,从配置中获取密钥 -> app.php 文件

public static $serverKey_as = config('app.serverkey_as');

但是我得到这个错误

Symfony\Component\ErrorHandler\Error\FatalError: Constant expression contains invalid operations in file

这是我在配置中的代码 -> app.php

'serverkey_as' => env('SERVERKEY_AS', 'my-defauly-secret-key'),

这是我的 .env

SERVERKEY_AS = 'my-secret-key'

这就是我尝试过的方法,但仍然没有成功

<?php

namespace Midtrans;

class Config
{
    public static  $serverKey_as;
    public function __construct()
    {
        return self::$serverKey_as = config('app.serverkey_as');
    }
}

有什么提示吗?

首先:您确实不应该更改 /vendor 目录中的代码。该目录包含由其他 人制作和维护的代码。

此外,初始静态变量赋值不能包含任何类型的函数调用。我建议在您的 AppServiceProvider 中使用 boot() 方法将静态变量更改为您想要的值:

public function boot()
{
    \Midtrans\Config::$serverKey_as = config('app.serverkey_as');
    //...
}