2009-09-06 6 views
13

例:オプションパラメータのデフォルト値を設定するためのphpdoc標準?

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

オプションのパラメータは、デフォルトでtrueに設定されています。ドキュメントのデフォルト設定が何であるかを示したいと思います。これを行うための標準的な方法はありますか、またはその記述でそれを言及しなければなりませんか?

答えて

13

The doc says

ノートの$ paramNameにその、... は パラメータリストと機能 署名の両方で出力ドキュメントに表示されます。あなたは(「$のparamName = 『 デフォルト値』」を介して)パラメータ はオプションで、実際のコードで を示していない場合、あなたすべきパラメータはオプションであるパラメータの説明 で 言及。

あなたが関数のシグネチャでデフォルトの割り当てを示していないのであれば、説明に含める良いでしょうが、あなたの場合には、あなたはは、署名にそれを含めです。そうすれば、気分が良くなるのでなければ、変更する必要はありません。

+0

ありがとうございました。そしてそれは私に幾分良い、はいを感じさせます:) – KdgDev

+0

これは、オプションのパラメータが関数シグネチャに含まれている場合の答えです。しかし、もしそうでなければどうしますか?オプションのパラメータを文書化するには?ドキュメントからは唯一の方法は説明でそれを伝えることです。ですから、例えば '[$ case = true]'と書くことはできません。 jsdocでもそれがあります。 – FreeLightman

関連する問題