猿问

Laravel 中的辅助函数和通过重定向发送变量的问题

我的辅助函数 swe_date 有问题。它什么都不输出。如果我不使用它,一切都很好。


我已经完成了 composer dump-autoload 的事情,并将“app/helpers.php”放入了 composer.json 文件中。


我的辅助函数看起来像这样。


 if (! function_exists('swe_date'))

 {

  function swe_date($date)

  {

    setlocale(LC_TIME, 'sv_SV');

    return strftime('%A %d %B %Y %H:%M',strtotime($date));

  }

 }

我的控制器,我尝试在其中使用辅助函数发送变量。请注意,当我执行 dd(swe_date($suspended->suspended_until)) 时,我得到:b"söndag 22 九月 2019 00:00" 不知道“b”来自哪里。


  $date = swe_date($suspended->suspended_until);

  //dd(swe_date($suspended->suspended_until));

  return redirect('/login')->with('date',$date);

我尝试显示消息的视图。


 @if(Session('date'))

    <div class="bg-danger mb-2 text-center text-white">

       {{Session('date')}}

    </div>

 @endif

作曲家.json


    "autoload": {

    "psr-4": {

        "App\\": "app/"

    },

    "classmap": [

        "database/seeds",

        "database/factories"

    ],

    "files": [

      "app/helpers.php"

      ]

},


慕的地10843
浏览 187回答 1
1回答

紫衣仙女

来自 php.net:“语言环境”始终取决于服务器配置服务器需要支持语言环境字符串。有时一种语言有不同的字符集,例如“pt_BR.utf-8”因此,如果您的服务器是 Windows,请尝试:setlocale(LC_ALL,&nbsp;'sv-SE.utf-8');在 linux 上尝试:setlocale(LC_ALL,&nbsp;'sv_SE.utf-8');我认为 UTF-8 将解决您的“b”问题。同样在 linux 上,请确保您的语言受支持“sudo locale -a”如果不按照这个安装
随时随地看视频慕课网APP
我要回答