Исключение: Невозможно переопределить функцию в web.php, но это единственное вхождение этой функции - PullRequest
1 голос
/ 13 июня 2019

В моем web.php файле у меня есть функция с именем GetRandomString, и когда я набираю 'php artisan config: cache', чтобы восстановить файл .env, я получаю следующую ошибку:

К сожалению \ Exception \ ErrorException: Невозможно повторно объявить GetRandomString () (ранее объявлено в маршрутах / web.php: 171)

Но это точно такая же функция. Я также не объявил это где-нибудь еще. Функция начинается в строке 171 и заканчивается строкой 179:

function GetRandomString($length = 12) {
      $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!';
      $charactersLength = strlen($characters);
      $randomString = '';
      for ($i = 0; $i < $length; $i++) {
          $randomString .= $characters[rand(0, $charactersLength - 1)];
      }
      return $randomString;
 }

Ответы [ 2 ]

2 голосов
/ 13 июня 2019

Выглядит как файл web.php, включая два раза за один поток запросов.используйте include_once или require_once для включения web.php файла.

Также вы можете использовать функцию function_exists, чтобы проверить, определена ли уже функция.

if (!function_exists('GetRandomString')) {
    function GetRandomString($length = 12) {
        $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!';
        $charactersLength = strlen($characters);
        $randomString = '';
        for ($i = 0; $i < $length; $i++) {
            $randomString .= $characters[rand(0, $charactersLength - 1)];
        }
        return $randomString;
   }
}
2 голосов
/ 13 июня 2019

У меня такая же проблема (только при использовании artisan или phpunit), не найдено правильное решение. Я использовал:

if (!function_exists('GetRandomString')) {
   function GetRandomString($length = 12) {
      ...
   }
}

https://www.php.net/manual/en/function.function-exists.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...