Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Не подскажет ли кто - как можно и можно ли обращаться к контроллерам без объявления маршрутов в route.php , ведь я могу и не знать точных маршрутов, хочется разделить приложение на бекенд и фронтенд, неужели нужно для каждой функции контроллера - например создание обновление удаление и показ записей БД прописывать отдельные маршруты?
Не в сети
для каждой не надо, но контроллер не подключать не получится, но для каждой функции и не надо подключать же. )
Не в сети
Подскажите тогда еще - могу ли я определить все маршруты одного контроллера одним роутом ?
Не в сети
Да, конечно, например
Route::controller('pages', 'admin\AdminPagesController');
Не в сети
Это я так понимаю RESTful контроллер, но мне ведь все равно ручками нужно прописывать роут для него, в документации указаны акшены для него http://laravel.com/docs/5.1/controllers … ontrollers
Actions Handled By Resource Controller
Verb Path Action Route Name
GET /photo index photo.index
GET /photo/create create photo.create
POST /photo store photo.store
GET /photo/{photo} show photo.show
GET /photo/{photo}/edit edit photo.edit
PUT/PATCH /photo/{photo} update photo.update
DELETE /photo/{photo} destroy photo.destroy
Но, я хочу добавить свои экшены и совсем по другому их называть - это не пройдет и придется прописывать роуты руками?
То есть вообще в идеале хотелось бы иметь - адрес ресурса/контроллер/метод контроллера/параметры
Подобный механизм отлично работает например в Codeigniter или например Kohana
Я потихоньку стараюсь разбираться в этом фреймворке, так до кучи спрошу
лара славен тем что мол здесь не нужно изобретать велосипеды - но например решение из коробки с авторизацией пользователей не имеет ролей пользователей - по сему смысл его сомнителен, пусть хоть даже 3 штучки было бы - пользователь, модератор, админ - выходит нужно заниматься написанием велосипеда, или я что то упускаю?
Не в сети
функции в контроллере getIndex, getAdd, getEdit, delete
Route::controller('pages', 'admin\AdminPagesController');
прописывая контроллер в route.php получаются такие пути:
/admin/pages/ - вызовет функцию getIndex
/admin/pages/add/ - getAdd
/admin/pages/edit/{id} - getEdit($id)
по сути добавляя функцию в контроллер getUpdatePage автоматом получаешь экшн admin/pages/update-page/
добавляешь getControllerTimingPeriod() получаешь экшн admin/pages/controller-timing-period
в консоли удобно видеть все маршруты через
php artisan route:list
Но прям если что-то требуется отличное от..., то можно прописывать и руками.
Может кто более грамотно объяснит, но я это вижу вот так)
Изменено avpet (04.12.2015 15:57:30)
Не в сети
Это я так понимаю RESTful контроллер, но мне ведь все равно ручками нужно прописывать роут для него, в документации указаны акшены для него http://laravel.com/docs/5.1/controllers … ontrollers
Actions Handled By Resource Controller
Verb Path Action Route Name
GET /photo index photo.index
GET /photo/create create photo.create
POST /photo store photo.store
GET /photo/{photo} show photo.show
GET /photo/{photo}/edit edit photo.edit
PUT/PATCH /photo/{photo} update photo.update
DELETE /photo/{photo} destroy photo.destroy
Это как раз RESTful Resource Controllers
в route.php задаётся как
Route::resource('photo', 'PhotoController');
а то что описал я это Implicit Controllers (есть чуть ниже в доках)
Route::controller('users', 'UserController');
вот с ними и можно поэкспериментировать
p.s. сам разобрался для себя)
Не в сети
Страницы 1