Страницы

Поиск по вопросам

понедельник, 6 января 2020 г.

phpDocumentor и метод с неизвестным числом аргументов

#php #phpdoc


Есть метод с неизвестным заранее числом аргументов, причем первый и второй аргументы
обязательны и должны иметь определённые значения. Я хочу задокументировать это, но
не знаю как:

/**
 * @param string $name
 * @param string $type
 * @param string $param_1-$param_x
 */
public function some_method() {
    $args = func_get_args();
}


Или я в корне не прав, допуская такой способ передачи аргументов и нужно передавать
переменное количество аргументов массивом: some_method($name, $type, array $param)? 
    


Ответы

Ответ 1



Начиная с PHP 5.6 используется новый синтаксис для неизвестного количества аргументов, без использования функции func_get_args(). В этом случае можно все подробности описать в рамках директивы @param для аргумента ...$args /** * @param string $name ... * @param string $type ... * @param mixed $args ... */ public function some_method($name, $type, ...$args) { // foreach($args as $arg) { ... }; }

Ответ 2



Третий аргумент - массив строк, как я понял: /** * @param string $name * @param string $type * @param string $otherParams... */ public function some_method() { $args = func_get_args(); }

Комментариев нет:

Отправить комментарий