applyPermissionCheck = $params['applyPermissionCheck'] ?? false; $object->forbidComplexExpressions = $params['forbidComplexExpressions'] ?? false; foreach ($params as $key => $value) { if (!property_exists($object, $key)) { throw new InvalidArgumentException("Unknown parameter '{$key}'."); } } return $object; } /** * Apply permission check. */ public function applyPermissionCheck(): bool { return $this->applyPermissionCheck; } /** * Forbid complex expressions. */ public function forbidComplexExpressions(): bool { return $this->forbidComplexExpressions; } }