Nixtone
@Nixtone

Почему laravel не видит кастомный helper?

Пытаюсь подтянуть в laravel свою функцию. Делал все по инструкциям предлагаемым поиском.

1. Создал файл "/app/helpers.php".
if (!function_exists('translit')) {
        function translit($text) {
            return strtolower(str_replace(' ', '-', $text));
        }
    }


2. Подключил в compose.json
"autoload": {
    "psr-4": {
        "App\\": "app/",
        "Database\\Factories\\": "database/factories/",
        "Database\\Seeders\\": "database/seeders/"
    },
    // добавляем вложенный массив
    "files": [
        "app/helpers.php"
    ]
},


3. Выполнил команду:
composer dump-autoload

В контроллере при создании новой записи вызываю функцию, в ответ получаю "Call to undefined function App\Http\Controllers\translit()", почему лара не видит мою функцию?
  • Вопрос задан
  • 141 просмотр
Решения вопроса 2
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Вызывайте функцию с указанием корневого namespace (обратный слеш в начале)
\translit($text)

Так же в Laravel уже есть готовый helper для транслитерации строк для использования в ЧПУ Str::slug()
https://laravel.com/docs/10.x/helpers#method-str-slug
Ответ написан
Nixtone
@Nixtone Автор вопроса
Разобрался, всему виной мое банальное невнимание, сам же смотрел в свой конспект и сам же промахнулся и разместил массив "files" за пределами ключа "autoload" в файле "composer.json". Приведенный вариант в первом сообщении верен.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
24 апр. 2024, в 10:32
400000 руб./за проект
24 апр. 2024, в 10:12
10000 руб./за проект