我在项目中使用了一个包,它在config/packagename中存储了一个设置
我想在配置文件中动态改变这个值,这是当前文件结构的样子;
<?php
return [
'view_id' => '118754561',
'cache_lifetime_in_minutes' => 60 * 24,
];我想把它改成这样-
'view_id' => Auth::user()->id,您是否可以在配置文件中执行此操作,或者您是否必须在控制器中存储一些稍后要更新的变量。有没有办法将这些变量放在env文件中,并从控制器访问这些新变量?
发布于 2022-01-05 15:15:14
您可以简单地使用此函数:
你必须坚持使用单引号(')
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');
}或者使用这些。使用单引号还是双引号没有区别
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');
}https://stackoverflow.com/questions/39563042
复制相似问题