laravel PHP 致命错误:无法重新声明函数

flo*_*wer 5 php laravel laravel-5

我有以下功能:

function get_user_browser() {
  $u_agent = $_SERVER['HTTP_USER_AGENT'];
  $ub = 'unknown';
  if (preg_match('/Trident\/7.0; rv:11.0/', $u_agent)) {
    $ub = "ie ie-11";
  }
  elseif(preg_match('/MSIE/i', $u_agent)) {
    $ub = "ie";
  }
  elseif(preg_match('/Chrome/i', $u_agent)) {
    $ub = "chrome";
  }
  elseif(preg_match('/Firefox/i', $u_agent)) {
    $ub = "firefox";
  }
  elseif(preg_match('/Safari/i', $u_agent)) {
    $ub = "safari";
  }
  elseif(preg_match('/Opera/i', $u_agent)) {
    $ub = "opera";
  }
  return 'browser-'.$ub;
}
Run Code Online (Sandbox Code Playgroud)

我在两个刀片中声明了此函数,但收到此错误:

FPHP 致命错误:无法在第 7 行 /home/storage/framework/views/0800146a0e35b205e9a66bb2f00ffb2f 中重新声明 get_user_browser() (之前在 /home/storage/framework/views/0800146a0e35b205e9a66bb2f00ffb2f:7 中声明)

我该如何修复它?

Roc*_*zzo 7

这是一个聪明的简单技巧

将名为 helpers.php 的文件添加到您的应用程序文件夹中

复制您在该文件中编写的函数

添加到“autoload”块下的composer.json:

 "files": [
  "app/helpers.php"
]
Run Code Online (Sandbox Code Playgroud)

然后运行作曲家更新,您将获得所有代码库上可用的功能

在此文件中,您可以添加任何您喜欢的辅助函数,并且正如已经告诉您的那样,您应该始终避免在视图中编写 php 代码