Можно ли использовать абстрактные классы или интерфейсы в политиках laravel (Gates)? - PullRequest
0 голосов
/ 21 октября 2018

Можно ли использовать абстрактные классы или интерфейсы в политиках laravel (Gates)?Как это:

protected $policies = [
    MyAbstractClass::class => PostPolicy::class,
    MyInterface::class => PostPolicy::class,
];

Ответы [ 2 ]

0 голосов
/ 21 октября 2018

Похоже, что исходный код для Illuminate\Auth\Access\Gate возвращается к is_subclass_of() при разрешении экземпляра политики.Из php документов для is_subclass_of():

Проверяет, имеет ли данный объект имя класса class_name в качестве одного из его родителей или реализует it.

(выделено мной)

Так что да, вы должны это сделать.

0 голосов
/ 21 октября 2018
protected $policies = [
    AbstractClass::class => ConcreteClass::class,
    PostAbstractClass::class => PostConcreteClass::class,
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...