Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 03.12.2015 07:16:59

Маршруты без route.php

Не подскажет ли кто - как можно и можно ли обращаться к контроллерам без объявления маршрутов в route.php  ,  ведь я могу и не знать точных маршрутов, хочется разделить приложение на бекенд и фронтенд, неужели нужно для каждой функции контроллера - например создание обновление удаление и показ записей БД прописывать отдельные маршруты?

Не в сети

#2 04.12.2015 10:24:40

avpet
Откуда: Russia, Omsk
Сообщений: 7
Сайт

Re: Маршруты без route.php

для каждой не надо, но контроллер не подключать не получится, но для каждой функции и не надо подключать же. )

Не в сети

#3 04.12.2015 12:43:43

Re: Маршруты без route.php

Подскажите тогда еще - могу ли я определить все маршруты одного контроллера одним роутом ?

Не в сети

#4 04.12.2015 13:02:48

avpet
Откуда: Russia, Omsk
Сообщений: 7
Сайт

Re: Маршруты без route.php

Да, конечно, например

		Route::controller('pages', 'admin\AdminPagesController');

Не в сети

#5 04.12.2015 14:47:50

Re: Маршруты без route.php

Это я так понимаю 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 штучки было бы - пользователь, модератор, админ - выходит нужно заниматься написанием велосипеда, или я что то упускаю?

Не в сети

#6 04.12.2015 15:49:07

avpet
Откуда: Russia, Omsk
Сообщений: 7
Сайт

Re: Маршруты без route.php

функции в контроллере 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)

Не в сети

#7 04.12.2015 16:35:32

avpet
Откуда: Russia, Omsk
Сообщений: 7
Сайт

Re: Маршруты без route.php

andryshok пишет:

Это я так понимаю 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');

вот с ними и можно поэкспериментировать smile
p.s. сам разобрался для себя)

Не в сети

Подвал раздела