Laravel 从控制器重写语言文件

Laraver rewrite language file from controller

是否可以从控制器写入位于 resources/lang/en/file.php 的语言文件?我将我的翻译移动到数据库以便用户可以编辑它们,现在每次内容更改时都希望将内容从数据库写入 lang 文件。

只要您拥有正确的权限,您就可以写入文件系统中的任何位置。 file_put_contents 会将您的内容写入所需的路径。

可是你的翻译都在数据库里,写到文件里有什么用?您只是在不必要地创建冗余数据。

编辑:

您应该在 config/filesystems.php 中定义一个条目以与 Storage 门面一起使用。

    'translations' => [
        'driver' => 'local',
        'root'   => resource_path('translations'),
    ],

找到这个帮助我写入资源文件夹的函数:

app()['path.lang']