2009-12-31 7 views
5

Tengo este constructor que toma un argumento opcional. El principal problema con esto es la usabilidad. El desarrollador que usa mi framework sentirá un dolor de cabeza instantáneamente porque no sabe si puede proporcionar una discusión, qué tipo de argumento, o si no puede en absoluto. Conclusión: simplemente apesta. Pero PHPDoc puede ayudar un poco si alguien tiene un IDE razonable como Netbeans instalados;)¿Cómo marcar que un argumento es opcional en PHPDoc?

Así:

class ChildClass extends ParentClass { 
    public function __construct() { 
    $tplFile = func_get_arg(0); 
    if (!isset($tpl)) { 
     $tpl = 'index'; 
    } 
    parent::__construct($tpl); 
    } 
} 

¿Cómo podría utilizar PHPDoc aquí para indicar que se puede proporcionar una opción [$ tpl] ¿argumento?

Respuesta

6

declarar un parámetro y darle un preajuste:

public function __construct($my_argument = 0) 

mi IDE (PhpED, que es phpDoc sensible) interpreta correctamente. phpDoc debe, también, y poner el parámetro en los apoyos:

show ([$my_argument]) 
+1

Al declarar un único arg opcional en el código en sí, phpDoc y el lector del código sin formato pueden interpretar que el método se puede usar sin argumentos. Ya sea que haga esto o no, solo usar la etiqueta @param en el docblock le dará a phpDoc algo sobre lo que escribir, y sé que Eclipse PDT al menos lo detectará y lo mostrará cuando aparezca documentación sobre el método. revoloteó sobre. – ashnazg

+0

Para obtener más detalles sobre cómo se puede usar @param cuando no se hacen argumentos explícitos en la firma de la función en sí, vea el ejemplo inferior en [1] ... solo imagínelo con solo "@param mixed $ v, ... "línea utilizada. [1] - http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.param.pkg.html – ashnazg

Cuestiones relacionadas