Laravel 后台返回本地化错误消息

2019-08-15  本文已影响0人  MrTricker

前台本地化本地化很简单 @lang('messages.welcome') 这种方式快捷获取本地化消息。

那么后台呢?

  1. 首先,我们随意找一个 view,在里面加入 @lang(),然后访问这个页面。

    微信截图_20190815131658.png

    然后,在后端代码写入:

    <?php
    
    namespace App\Http\Controllers
    
    use Illuminate\Http\Request;
    use App\Http\Controllers\Controller;
    use Illuminate\Translation\Translator;
    
    class TestController extends Controller
    {
        public function __invoke(Request $request)
        {
            $message = Translator::getFromJson("messages.welcome");
    
            return view('welcome', $message);
        }
    }
    

    然并卵。

  2. 突然间,我在错误日志中找到了 blade 解析后的错误描述

    微信截图_20190815131937.png

    然后,把第一步的后端代码替换为:

    <?php
    
    namespace App\Http\Controllers
    
    use Illuminate\Http\Request;
    use App\Http\Controllers\Controller;
    use Illuminate\Translation\Translator;
    
    class TestController extends Controller
    {
        public function __invoke(Request $request)
        {
            $message = app('translator')->getFromJson("messages.welcome");
    
            return view('welcome', $message);
        }
    }
    

    奇迹般的生效了!

上一篇下一篇

猜你喜欢

热点阅读