класс помощника laravel не вызывается - PullRequest
2 голосов
/ 07 июля 2019

Внутри папки моего приложения есть следующая файловая структура.

  • Консоль
  • Исключения
  • Помощники
  • Http

Внутри папки Helpers у меня есть файл Helpers.php, который содержит следующий код:

<?php
namespace App\Helpers;

class Helper 
{
    public static function shout($string)
    {
        return strtoupper($string);
    }
}

Из контроллера внутри http

Я пытаюсь вызвать эту вспомогательную функцию, используя следующий код

Helper::shout($test);

Но я получаю ошибку

Class 'App\Helpers\Helper' not found

На самом деле это работало нормально в моей версии laravel 5.4. Сейчас я использую этот класс в новой версии laravel.

Кто-нибудь может мне помочь, что мне делать в новой версии laravel?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 07 июля 2019

После включения;

require_once ROOT . '/helpers.php';

И редактировать composer.json

"autoload": {
    "files": [
        "app/Helpers/Helpers.php"
    ],
},

Наконец;

composer dump-autoload
0 голосов
/ 07 июля 2019

Вам нужно добавить в composer.json, где находится ваш класс помощника.

В вашем случае:

"autoload": {
    "files": [
        "app/Helpers/Helpers.php"
    ],
},

Для получения дополнительной информации вы можете прочитать this .

Также вы можете попробовать вот так:

<?php
namespace App\Helpers;

class Helper 
{
    public function run($string)
    {
        return strtoupper($string);
    }

    public static function shout($string)
    {
        $instance = new self;
        $instance->run($string);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...