Сделайте новые методы, чтобы облегчить себе жизнь:
public function checkDeletePermission($role) {
$this->checkPermission($this->getRole($role), Action::DELETE);
}
public function checkReadPermission($role) {
$this->checkPermission($this->getRole($role), Action::READ);
}
public function checkCreatePermission($role) {
$this->checkPermission($this->getRole($role), Action::CREATE);
}
А еще можно сделать 1 метод с проверками по методам, например:
Controller:
__checkActionsPermissions
____return ['actionView' => ['role' => 'email', 'permission' => Action::VIEW]];
Далее перед вызовом ваших экшеном сначала прогоняйте этот метод через валидаторы/чекеры.
В итоге вы не будете загрязнять ваши методы лишним кодом, не относящимся к сути непосредственно.