example - Parámetro opcional PHPDoc
phpdocumentor download windows (1)
Estrictamente hablando, PHP no conoce los "parámetros opcionales", sino los parámetros con valores predeterminados, que pueden omitirse cuando se llama a la función o método. OK, eso es al final un parámetro opcional, pero tu
@param string $encoding Encoding.
es completamente correcto aquí, porque el valor predeterminado es una cadena. Lo que la documentación intenta decirle es que debe mencionarlo usted mismo como
@param string $encoding (optional) Encoding.
Estoy de acuerdo contigo, que una notación como
__construct([$encoding])
o
__construct($encoding = ''UTF-8'')
sería bueno. Puede publicar un informe de error
https://github.com/phpDocumentor/phpDocumentor2/issues?state=open
Actualización: se dio cuenta de que esto ya se mencionó https://github.com/phpDocumentor/phpDocumentor2/search?q=optional&type=Issues
Ya hay 2 preguntas similares de este tipo aquí en SO, pero ninguna de las respuestas parece funcionar.
PHPDoc no parece reconocer los parámetros opcionales en mis funciones como opcional, por ejemplo:
/**
* Opens the connection and sets encoding
*
* @param string $encoding Encoding.
*/
public function __construct($encoding=''UTF-8'')
{
$this->connect_mysqli();
$this->set_encoding_mysqli($encoding);
}
¿No debería reconocer $ codificación como opcional o me falta algo aquí? Realmente traté de buscar en Google y leer la documentación, pero todo lo que encontré es:
Si no está indicando en el código real que el parámetro es opcional (a través de "$ paramname = ''un valor predeterminado''"), debe mencionar en la descripción del parámetro que el parámetro es opcional.
Así que no veo ningún problema con mi código, pero todo lo que obtengo en la documentación es: "__construct (string $ encoding)", no hay señal en ningún lado de que el parámetro sea opcional.