无法在 Laravel 8 中设置配置值

Can not set a Config value in Laravel 8

我正在尝试将站点设置变量保存到 config/settings.php 文件中。

<?php

return [
    'APP_NAME' => 'example',
    'APP_LOGO' => 'path',
];

我可以通过

获得这些值
  1. config('settings.APP_NAME')
  2. \Config::get('settings.APP_NAME')

但是我无法设置一个使用,

  1. config(['settings.APP_NAME' => 'newValue'])
  2. \Config::set('settings.APP_NAME', 'newValue')

我做错了什么吗?有没有其他方法可以实现我想要的?

配置未设计为在运行时更新。它用于设置固定的基于服务器的设置,例如应用程序名称。如果要editable设置,使用数据库。

  • 为自己构建一个 custom helper 设置包装器,这样您就可以像查询配置一样查询它。
  • 自己迁移一个设置table,其中包含您希望编辑的列
  • 将从设置助手返回的值集成到您想要添加的任何地方
  • 设置一个表单,以便您可以以管理员身份编辑这些设置并将它们保存到数据库

基本上就是这样。一般经验法则:它是否持久,使用 config. Is is editable,使用数据库(或其他一些动态存储形式)。