Laravel по-русски

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

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

#1 31.07.2014 13:33:15

Restful контроллеры и контроллеры ресурсов

Не совсем разобрался: когда лучше использовать ::controler(), а к каких случаях ::resource()

Не в сети

#2 31.07.2014 15:54:39

Re: Restful контроллеры и контроллеры ресурсов

Route::resource() нужен, если у вас в приложении есть сущности, которыми удобно управлять по REST-протоколу и во фронте у вас js-фреймворк, который тоже умеет делать REST-запросы (например, ангуляр с рестангуляр-модулем) ИЛИ вы работаете в команде и фронт пишете не вы. В этом случае вы пишете код в рамках этого протокола и у вас отпадает головняк на тему, какие придумывать урлы и как именно общаться одному с другим.

Route::controller() нужен, если вам лень писать роуты для каждого урла и вы принимаете внутреннее ларавеловское соглашение о связи урлов и методов контроллера: /user/profile -> class UserController { function getProfile() } И благодаря этому получаете возможность писать один роут на контроллер вместо нескольких.

Эти вещи сделаны для удобства, если вы сомневаетесь, что они вам нужны - не используйте вовсе. Я, например, решил для себя  их не использовать, юзаю только Route::get() и Route::post(). С одной стороны долго писать каждый роут, зато имею полный контроль над происходящим, включая такую замечательную вещь как генерация html-ссылок и редиректов по именам роутов (route("user.profile")).

Не в сети

#3 31.07.2014 20:41:35

Re: Restful контроллеры и контроллеры ресурсов

Полностью поддерживаю slider23, resource может быть хорош для быстрого прототипирования, но его использование в конечном проекте — сомнительно, так как видно явно, что скрывается за этим объявлением (особенно если в новой версии фреймворка вдруг добавят какой-то новый маршрут).

  1. С одной стороны долго писать каждый роут, зато имею полный контроль над происходящим, включая такую замечательную вещь как генерация html-ссылок и редиректов по именам роутов (route(«user.profile»)).

Не в сети

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