Мой код Laravel работает нормально, но расширение PHP Intelephense показывает ненужную ошибку в коде. Если я удалю расширение, ошибка исчезнет и снова появится при переустановке. Он также показывает некоторые ошибки в папке Laravel helpers.php. Мой преподаватель использует PHPStorm, и он напрямую вызывает request(), не получая никаких ошибок. Я имею в виду, что я использую VSCode, и request() работает без ошибок, но я просто хочу исправить волнистую ошибку. Может ли кто-нибудь помочь мне решить эту проблему?
Я попробовал удалить и попробовать еще раз, но ошибка не исчезла. Также пробовал настроить файл settings.json с помощью :(
Я использую Laravel 11.14. Я включил ссылку на скриншот. ссылка
Этот вопрос похож на: Неопределенные функции/методы - Intelephense(1013) - Laravel Homestead + VScode. Если вы считаете, что это другое, отредактируйте вопрос, поясните, чем он отличается и/или как ответы на этот вопрос не помогают решить вашу проблему.
Чтобы код VS нашел функцию request
, он использует файлvendor/laravel/framework/composer.json. В частности, определение внутри этого блока относится к файлу Foundation/helpers.php.
"autoload": {
"files": [
"src/Illuminate/Collections/helpers.php",
"src/Illuminate/Events/functions.php",
"src/Illuminate/Filesystem/functions.php",
"src/Illuminate/Foundation/helpers.php",
"src/Illuminate/Support/helpers.php"
],
"psr-4": {
"Illuminate\\": "src/Illuminate/",
"Illuminate\\Support\\": [
"src/Illuminate/Macroable/",
"src/Illuminate/Collections/",
"src/Illuminate/Conditionable/"
]
}
},
Убедитесь, что это определение существует. если нет, вы всегда можете добавить его в свой файл композитора.json.
Спасибо, но у меня есть эти определения в файле композитора.json. :(
Проблема здесь в docblock
в request()
. Почти у всех помощников есть эта проблема. Я думаю, это из-за этих изменений [11.x] подвиг: добавить более конкретные типы и тесты для помощников
Редактировать №1
Если вас это действительно беспокоит, вы можете поставить значение null
внутри request()
.
request(null)->validate(...);
Я встретил разработчика PHP Intelephense на github, он сказал мне, что это ошибка в расширении PHP Intelephense, и сказал, что они исправили ее в последней версии. После обновления расширения проблема была решена.
//Но в помощниках и других папках еще есть несколько ошибок, но он сказал, что они скоро это исправят.
Ваш ответ можно улучшить, добавив дополнительную вспомогательную информацию. Пожалуйста, отредактируйте , добавив дополнительную информацию, например цитаты или документацию, чтобы другие могли подтвердить правильность вашего ответа. Более подробную информацию о том, как писать хорошие ответы, вы можете найти в справочном центре.
Не уверен, что мой ответ решит вашу проблему. Какую версию Laravel вы используете? Можете ли вы разместить файл helpers.php в строке 223? event() не определено, кажется, ваша основная проблема.