Страницы

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

среда, 13 февраля 2019 г.

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

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

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

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