authorized($object)){ throw new AccessForbiddenException('You don\'t have permission to perform this action'); } $this->validators($object); $this->criteria($object); return true; } catch(AccessForbiddenException $exception){ throw new AccessForbiddenException('You don\'t have permission to perform this action'); } catch(CriteriaNotFulfilledException $exception){ throw new CriteriaNotFulfilledException($exception->getMessage()); } catch(\Exception $exception){ throw new RequestValidationException($exception->getMessage()); } } }