2009-09-06 14 views
13

Ejemplo:estándar phpdoc para establecer el valor predeterminado de un parámetro opcional?

/** 
* This function will determine whether or not one string starts with another string. 
* @param string $haystack <p>The string that needs to be checked.</p> 
* @param string $needle <p>The string that is being checked for.</p> 
* @param boolean $case[optional] <p>Set to false to ignore case(capital or normal characters)</p> 
* @return boolean <p>If the $haystack string does start with the $needle string, the return will be true. False if not.</p> 
*/ 
function endsWith($haystack,$needle,$case=true) { 
    if($case){return (strcmp(substr($haystack, strlen($haystack) - strlen($needle)),$needle)===0);} 
    return (strcasecmp(substr($haystack, strlen($haystack) - strlen($needle)),$needle)===0); 
} 

El parámetro opcional se establece en true por defecto. Deseo indicar cuál es la configuración predeterminada en la documentación. ¿Existe una forma estándar de hacer esto o debo mencionarlo en la descripción?

Respuesta

13

The doc says:

Tenga en cuenta que los $ paramname, ... será se muestra en los documentos de salida, tanto en el parámetro de listado y la función firma. Si no está indicando en el código real que el parámetro es opcional (a través de "$ paramname = 'a valor predeterminado'"), entonces debe mencionar en la descripción del parámetro que el parámetro es opcional.

Así que si usted no está mostrando la asignación predeterminada en la firma de la función, sería una buena idea incluirlo en la descripción, pero en el caso de que son incluidos en la firma. Entonces, no necesitas cambiar nada a menos que hacerlo te haga sentir mejor.

+0

Gracias. Y me hace sentir algo mejor, sí :) – KdgDev

+0

Esta es la respuesta en caso de que se incluya un parámetro opcional en la firma de la función. Pero, ¿y si no lo es? ¿Cómo documentar un parámetro opcional? A partir de documentos, la única forma es contarlo en la descripción. Entonces no hay forma de escribir, por ejemplo '[$ case = true]'. Incluso jsdoc lo tiene. – FreeLightman

Cuestiones relacionadas