#laravel #controller #php #маршрутизация
Есть контроллер:
class HomeController extends BaseController {
public function index() {
return View::make('hello');
}
}
и при наличии роута:
Route::get('/', 'HomeController@index');
появляется ошибка:
BadMethodCallException
Method [index] does not exist.
Команда php artisan routes, возвращает то что нужно:
+--------+------------+------+----------------------+----------------+---------------+
| Domain | URI | Name | Action | Before Filters | After Filters |
+--------+------------+------+----------------------+----------------+---------------+
| | GET|HEAD / | | HomeController@index | | |
+--------+------------+------+----------------------+----------------+---------------+
Версия: Laravel 4.2.11
Ответы
Ответ 1
Проблема решена. Вся проблема была в том что в папке vendor/laravel находилась папка laravel полностью дублирующая корневую директорию из-за этого пространства имен спутались и поиск был не в корневой директории а в папке vendor. Пригодится кому-нибудь на будущее. :)Ответ 2
А в HomeController у Вас, видимо, дефолтный метод остался, да? Попробуйте роут прописать как-нибудь так: Route::get('/', ['as' => 'home', 'uses' => 'HomeController@showWelcome']); Ещё может быть косяк с автолоадингом. Попробуйте: удалить папку vendor удалить файл bootstrap/compiled.php запустите composer update
Комментариев нет:
Отправить комментарий