Как отметить, что аргумент не является обязательным в PHPDoc?
Вопрос
У меня есть конструктор, который принимает необязательный аргумент.Основная проблема здесь — удобство использования.У разработчика, использующего мой фреймворк, мгновенно заболит голова, потому что он не знает, может ли он предоставить аргумент, какой именно аргумент, или не может вообще.Заключение:Это просто отстой.Но PHPDoc может немного помочь, если у кого-то установлена разумная IDE, например Netbeans;)
Так:
class ChildClass extends ParentClass {
public function __construct() {
$tplFile = func_get_arg(0);
if (!isset($tpl)) {
$tpl = 'index';
}
parent::__construct($tpl);
}
}
Как я могу использовать здесь PHPDoc, чтобы указать, что может быть предоставлен необязательный аргумент [$tpl]?
Решение
Объявите параметр и задайте для него предустановку:
public function __construct($my_argument = 0)
моя IDE (phpEd, чувствительная к phpDoc) интерпретирует ее правильно.phpDoc тоже должен поместить параметр в фигурные скобки:
show ([$my_argument])
Другие советы
Вы можете использовать класс отражения и для этого тоже.