Когда вы разрабатываете приложение вам обязательно потребуется проверка того, что можно пользователю, а чего нельзя. В Laravel для этого используется Gate. Все в нем замечательно, кроме… того, что нельзя получить список всего, что вы в него добавили. И сейчас я вам покажу пример маленького хелпера, который вам с этим поможет.
Данный хелпер может пригодится тем кто реализует управление правилами на основе ролей и правил (как например я в нескольких своих проектах). Не факт что этот хелпер в текущем виде вам поможет, но вы можете сделать нечто подобное под свои нужды.
1 2 3 4 5 6 7 8 |
function getPermissions(){ $gate = App::getInstance()['Illuminate\Contracts\Auth\Access\Gate']; $reflection = new \ReflectionClass($gate); $abilities = $reflection->getProperty('abilities'); $abilities->setAccessible(true); return array_keys($abilities->getValue($gate)); } |
На этом все. Пользуйтесь!