#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(); }
Комментариев нет:
Отправить комментарий