public function __get($attributeName) { if ($attributeName == 'permissions') { $permissions = $this::unrestrictedGet("permissions"); assert('$permissions === null || (is_int($permissions) || is_numeric($permissions) && is_string($permissions)) && (intval($permissions) & ~Permission::ALL) == 0'); return intval($permissions); } return parent::__get($attributeName); }