【发布时间】:2022-10-06 00:05:04
【问题描述】:
我试图在控制器级别动态设置文件系统配置值。 (我认为这几乎是不可能的)。
例如:
\'sftp\' => [
\'driver\' => \'sftp\',
\'host\' => env(\'SFTP_HOST\'),
\'port\' => intval(env(\'SFTP_PORT\')),
\'username\' => env(\'SFTP_USERNAME\'),
\'password\' => env(\'SFTP_PASSWORD\'),
],
这是我在filesystems.php 中的 SFTP 磁盘配置值。
我将从数据库表中动态获得host, port, username, password 值。 (会有多条记录。)
我正在尝试使用文件管理器包连接文件系统。 (即:https://github.com/alexusmai/laravel-file-manager)
当我使用静态值时,它运行良好。
现在我试图在控制器级别动态设置它。
$myConfigArrayvalue = MyModel::find($id);
config([\'filesystems.disk.sftp\' => $myConfigArrayvalue);
当我在控制器或视图中dd(config(\'filesystems.disk.sftp\')) 时,它会动态显示值。
但是在文件管理器包(服务提供者)中,它显示为空值,所以当我去查看页面时,它不起作用。
我认为这是因为在 Controller 之前调用了 ServiceProvider。
谁能帮助我如何做到这一点?
-
您在什么控制器中设置这些配置值?
标签: php laravel laravel-filesystem laravel-service-container laravel-config