сегодня я создавал страницу профиля ПОЛЬЗОВАТЕЛЯ с управлением в ProfileController
, возвращая просмотры на страницу профиля, настройки профиля и т. д.
поэтому я решил сделать некоторые правила политики для редактирования профиля и т. д.
поэтому я обнаружил, что должен использовать промежуточное программное обеспечение / ворота / политику на основе Laravel Doc. Я выбрал политику, потому что страница профиля является общедоступной, но только определенная ее часть может редактироваться автором, поэтому мне нужно @can
Итак, мои шаги:
php artisan make:policy ProfilePolicy
(без модели)- Зарегистрированная политика для
AuthServiceProvider
в свойстве$policies
- написанные методы, такие как
edit
внутриProfilePolicy
затем я начал думать, как определить это для моего контроллера, хммм, документация мне не помогает :/
поэтому я попробовал метод блейда @can('edit', $user)
, и он сработал, но КАК?, как определить конкретную политику для одного контроллера? (не модель), как определить несколько политик для одного контроллера
я не понимаю, как laravel Magic сделал это, может быть, из-за именования? ProfileController => ProfilePolicy ?