Есть метод с неизвестным заранее числом аргументов, причем первый и второй аргументы обязательны и должны иметь определённые значения. Я хочу задокументировать это, но не знаю как:
/**
* @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)?
Ответ
Начиная с 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) { ... };
}
Комментариев нет:
Отправить комментарий