...Человеческий поиск в разработке...
- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/dispatcher/operation.php
- Класс: BitrixTasksDispatcherOperation
- Вызов: Operation::getMethodSignature
protected function getMethodSignature() { $info = new ReflectionMethod($this->parsed['CLASS'], $this->parsed['METHOD']); $result = [ 'STATIC' => $info->isStatic(), 'ARGUMENTS' => [], ]; $arguments = $info->getParameters(); if (is_array($arguments)) { foreach ($arguments as $arg) { $optional = $arg->isOptional(); $argName = ToLower($arg->getName()); $argType = $arg->getType(); if (!$argType) { $isArrayType = false; } else { $types = ($argType instanceof ReflectionUnionType ? $argType->getTypes() : [$argType]); $isArrayType = in_array( 'array', array_map(static fn (ReflectionNamedType $t) => $t->getName(), $types), true ); } $result['ARGUMENTS'][$argName] = [ 'NAME' => $argName, 'TYPE' => ($isArrayType ? self::ARGUMENT_TYPE_ARRAY : self::ARGUMENT_TYPE_STRING), 'REQUIRED' => !$optional, 'DEFAULT_VALUE' => ($optional ? $arg->getDefaultValue() : null), ]; } } return $result; }