【问题标题】:Set Public Static in Vendor Folder在供应商文件夹中设置公共静态
【发布时间】:2021-10-25 04:16:21
【问题描述】:

我想在供应商文件夹中设置公共静态变量。

我想改一下

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

到这里,从 config -> app.php 文件中获取密钥

公共静态 $serverKey_as = config('app.serverkey_as');

但我得到了这个错误

Symfony\Component\ErrorHandler\Error\FatalError: 常量表达式包含文件中的无效操作

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

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

这是我的 .env

SERVERKEY_AS = '我的密钥'

这是我尝试过的,但仍然没有运气

<?php

namespace Midtrans;

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

有什么提示吗?

【问题讨论】:

    标签: php laravel static public vendor


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-31
      • 1970-01-01
      • 1970-01-01
      • 2012-12-15
      相关资源
      最近更新 更多