更新本地化数组值

时间:2019-02-19 07:25:01

标签: php laravel localization storage

我正在更新lang文件夹下文件的值。所有文件都有一个数组,我想从用户那里更新该数组的值。

例如,

en/messages.php文件的数组类似

<?php 
    return [
       'hello' => 'hi'
    ];

现在,我将这些对发送给用户。用户可以更改该标签的唯一值。

我所做的是

public function update(Request $request, $lang, $file)
{
   $r = $request->input('lang');
   Storage::put('lang/' . $lang . '/' . $file.'.php', $r);
   return redirect()->back();
}

但是我只得到那个数组的值。我希望将输出保存在一个文件中,例如:

所需的输出:

<?php
   return [
      'hello' => 'helo'
   ];

1 个答案:

答案 0 :(得分:0)

我是通过这种方式完成的,

    public function update(Request $request, $lang, $file)
    {
            $r = $request->input('lang');
            $textContent = " <?php  
                return [ ";
            foreach ($r as $label => $value) {
                $textContent .= '"' . $label . '" => "' . $value . '",';
            }
            $textContent .= '];';
            Storage::put('lang/' . $lang . '/' . $file . '.php', $textContent);
            return back();
        }