У меня проблема с laravel view не найден функцией маршрута. Я сделал композитор dumpautoload, но не использовал ArticleController.php
<?php class ArticleController extends BaseController { public function showIndex() { return View::make('index'); } public function showSingle($articleId) { return View::make('single'); } } //Route Route::get('index', 'ArticleController@showIndex');
InvalidArgumentException
View [index] not found. open: /opt/lampp/htdocs/laravel-project/bootstrap/compiled.php foreach ((array) $paths as $path) { foreach ($this->getPossibleViewFiles($name) as $file) { if ($this->files->exists($viewPath = $path . '/' . $file)) { return $viewPath; } } } throw new \InvalidArgumentException("View [{$name}] not found."); } protected function getPossibleViewFiles($name) Server/Request Data REDIRECT_UNIQUE_ID UfWlAn8AAQEAABR2VakAAAAF REDIRECT_STATUS 200 UNIQUE_ID UfWlAn8AAQEAABR2VakAAAAF HTTP_HOST localhost HTTP_USER_AGENT Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0 HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 HTTP_ACCEPT_LANGUAGE en-US,en;q=0.5 HTTP_ACCEPT_ENCODING gzip, deflate HTTP_COOKIE laravel_session=f94fpel78jn89nhah32mflqn15 HTTP_CONNECTION keep-alive HTTP_CACHE_CONTROL max-age=0 PATH /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games LD_LIBRARY_PATH /opt/lampp/lib:/opt/lampp/lib SERVER_SIGNATURE SERVER_SOFTWARE Apache/2.4.4 (Unix) OpenSSL/1.0.1e PHP/5.4.16 mod_perl/2.0.8-dev Perl/v5.16.3 SERVER_NAME localhost SERVER_ADDR 127.0.0.1 SERVER_PORT 80 REMOTE_ADDR 127.0.0.1 DOCUMENT_ROOT /opt/lampp/htdocs REQUEST_SCHEME http CONTEXT_PREFIX CONTEXT_DOCUMENT_ROOT /opt/lampp/htdocs SERVER_ADMIN you@example.com SCRIPT_FILENAME /opt/lampp/htdocs/laravel-project/public/index.php REMOTE_PORT 50211 REDIRECT_URL /laravel-project/public/index GATEWAY_INTERFACE CGI/1.1 SERVER_PROTOCOL HTTP/1.1 REQUEST_METHOD GET QUERY_STRING REQUEST_URI /laravel-project/public/index SCRIPT_NAME /laravel-project/public/index.php PHP_SELF /laravel-project/public/index.php REQUEST_TIME_FLOAT 1375053058.123 REQUEST_TIME 1375053058
Это происходит, когда Laravel не находит файл вида в вашем приложении. Убедитесь, что у вас есть файл с именем: index.php
или index.blade.php
в вашем каталоге app/views
.
Обратите внимание, что Laravel будет делать следующее при вызове View::make
:
View::make('index')
Laravel будет искать файл: app/views/index.php
. View::make('index.foo')
Laravel будет искать файл: app/views/index/foo.php
. Файл может иметь любое из этих двух расширений: .php
или .blade.php
.
Эта ошибка также возникает, когда вы пытаетесь переместить всю директорию проекта в другой путь. И вы выполнили следующие команды ниже, прежде чем двигаться.
php artisan optimize --force php artisan config:cache php artisan route:cache
Сообщение об ошибке шахты выглядит так:
Как вы можете видеть, старый путь был написан на compiled.php . Итак, чтобы устранить проблему. Просто запустите ту же команду AGAIN в папке проекта в новой папке.
php artisan optimize --force php artisan config:cache php artisan route:cache
Надеюсь это поможет.
эта команда работает для меня
php artisan config:cache
Как сообщает Laravel doc, по умолчанию Laravel настроен на использование драйвера кэша файлов, в котором хранятся сериализованные, кэшированные объекты в файловой системе. Таким образом, он должен обновить файловую систему, чтобы новые шоу и маршрут были доступны для показа. Я также не уверен, почему laravel должен
Просто в вызове контроллера
return View('index');
без
::make
В моем случае я вызывал View::make('User/index')
, где на самом деле мое представление было в каталоге пользователя, и оно называлось index.blade.php. Ergo после того, как я изменил его на View@make('user.index')
все начали работать.
В моем случае, Laravel 5.3
Route::get('/', function(){ return View('test'); });
test.blade.php не был рендерингом, но некоторые другие представления отображались на localhost через XAMPP на mac. При запуске сервера artisan представление начало рендеринга для того же URL-адреса по сравнению с XAMPP.
php artisan serve
Чтобы избежать такого сценария, нужно тестировать приложения Laravel только с помощью сервера Artisan.