首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel动态配置设置

Laravel动态配置设置
EN

Stack Overflow用户
提问于 2016-09-19 05:54:35
回答 11查看 49.1K关注 0票数 33

我在项目中使用了一个包,它在config/packagename中存储了一个设置

我想在配置文件中动态改变这个值,这是当前文件结构的样子;

代码语言:javascript
运行
复制
<?php

return [
    'view_id' => '118754561',

    'cache_lifetime_in_minutes' => 60 * 24,
];

我想把它改成这样-

代码语言:javascript
运行
复制
'view_id' => Auth::user()->id,

您是否可以在配置文件中执行此操作,或者您是否必须在控制器中存储一些稍后要更新的变量。有没有办法将这些变量放在env文件中,并从控制器访问这些新变量?

EN

Stack Overflow用户

发布于 2022-01-05 15:15:14

您可以简单地使用此函数:

你必须坚持使用单引号(')

代码语言:javascript
运行
复制
public static function setConfig($config,$key,$value,$path)
            {
                file_put_contents(
                    $path,
                    str_replace("'$key'". ' => ' ."'" . config($config)."'",
                    "'$key'". ' => ' ."'" . $value ."'",
                    file_get_contents($path))
                );
                // clear config cache
                Artisan::call('cache:clear');
            }

或者使用这些。使用单引号还是双引号没有区别

代码语言:javascript
运行
复制
 public static function setConfig($config,$key,$value,$path)
            {
                file_put_contents(
                    $path,
                    str_replace(["'$key'". ' => ' ."'" . config($config)."'","\"$key\"". ' => ' ."\"" . config($config)."\""],
                    "'$key'". ' => ' ."'" . $value ."'",
                    file_get_contents($path))
                );
                // clear config cache
                Artisan::call('cache:clear');
            }
票数 -1
EN
查看全部 11 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39563042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档