В каких случаях использовать политики и гейты в Laravel?
Как я понял политики и гейты и служат для того, что бы эту проверку в котроллере так не писать?Да. Проверка может быть сложной. Она может вызываться в пяти разных местах. Политики — наглядный пример принципа DRY.
Политики Лары хороши всем, кроме того, что отсутствует понятие "роль", т.е. получается что все политики будут применяться ко всем пользователям без исключений. Но в реальных системах одним пользователям нужно что-то разрешить, а другим - запретить и без ролей становится грустно...
После появления в Ларе политик и гейтов я написал небольшой модуль h-rbac - обертку над гейтами, который позволяет использовать абсолютно все стандартные фишки, но в контексте наличия ролей.
Статья о модуле: Laravel 5. Иерархический RBAC для самых маленьких