php - 如何从 Laravel 中的 Session var 设置配置值
问题描述
Laravel 版本:7.6。
我试图动态设置配置。
在AppServiceProvider.php
,我这样放。
public function boot()
{
\Config::set("variable.custom", "test"); // this worked well.
}
但我需要从 Session var 中获取价值。
public function boot()
{
\Session::get("test"); // returned null even used Illuminate\Support\Facades\Session.
}
所以我搜索了一下,找到了一个答案。
public function boot()
{
view()->composer('*', function () {
$test= \Session::get("test"); // this worked well.
\Config::set("variable.custom", $test); // but this didn't work.
}
}
有什么解决办法吗?谁能帮我?
这是确切的过程。
首先,我设置middleware
了检查domain_id
会话变量。
public function handle($request, Closure $next)
{
\URL::defaults([
'domain' => $request->route()->parameter('domain'),
]);
$domain = $request->route()->parameter('domain');
if(!Session::has('domain_id')){
$domain = Domain::where('domain', $domain)->firstorfail();
Session::put('domain_id', $domain->id);
};
$request->route()->forgetParameter('domain');
return $next($request);
}
在AppServiceProvider.php
boot()
方法:
public function boot()
{
$dir = ['/storage/'.\Session::get("domain_id")?? 0];
\Config::set("elfinder.dir", $dir);
}
我打算elfinder.dir
根据域动态设置。
解决方案
推荐阅读
- excel - 如何将相似的代码行合并为一个
- amazon-web-services - 如何将 AWS Lambda 订阅到 Salesforce 平台事件
- python - 如何在 django ORM 中获取某个字段的所有值?
- python-3.x - ValueError:无法输入形状的值,但形状看起来不错
- html - 使用 Selenium 获取梦幻足球的球员价格
- google-bigquery - Bigquery 中的 SHA_256 哈希
- javascript - DataTables 对下拉列表中选定输入的自定义日期排序
- io - 当我们可以在 8086 处理器中使用就绪引脚时,为什么还需要一个保持引脚?
- google-cloud-platform - 将访问控制应用于 BigQuery 或 Bigtable 等 GCP 服务时,不同级别的访问控制如何相互冲突?
- angular - 更新指令中的属性值