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