2009-09-06 13 views
13

Esempio:standard phpdoc per l'impostazione del valore predefinito di un parametro opzionale?

/** 
* 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); 
} 

Il parametro opzionale è impostato su true per impostazione predefinita. Desidero indicare quale è l'impostazione predefinita nella documentazione. C'è un modo standard per farlo o devo menzionarlo nella descrizione?

risposta

13

The doc says:

Si noti che il $ paramname, ... sarà indicato nel documento finale sia il parametro messa in vendita e la funzione firma. Se non si sta indicando nel codice effettivo che il parametro è facoltativo (tramite "$ paramname = 'a valore predefinito'"), è necessario specificare nella descrizione del parametro che il parametro è facoltativo.

Quindi, se non sta mostrando l'assegnazione predefinita nella firma di funzione, sarebbe una buona idea includere nella descrizione, ma nel tuo caso si sono includendolo nella firma. Quindi, non è necessario cambiare una cosa a meno che farlo non ti faccia sentire meglio.

+0

Grazie. E mi fa sentire un po 'meglio, sì :) – KdgDev

+0

Questa è la risposta nel caso in cui un parametro opzionale è incluso nella firma della funzione. Ma cosa succede se non lo è? Come documentare un parametro opzionale? Come da documenti, l'unico modo è dirlo nella descrizione. Quindi non c'è modo di scrivere per esempio '[$ case = true]'. Anche jsdoc ce l'ha. – FreeLightman

Problemi correlati