/** * @param Permission $permission * @param Subject $subject * @param Resource $resource * @param array $params * * @return bool */ protected function evaluatePermission(Permission $permission, Subject $subject, Resource $resource, array $params) { if (!$permission->appliesToResource($resource)) { return false; } if (!$permission->evaluate($subject, $resource, $params)) { return false; } return true; }