2009-09-06 5 views
13

Beispiel:phpdoc Standard zum Setzen des Defaultwertes eines optionalen Parameters?

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

Der optionale Parameter wird auf true vorbelegt. Ich möchte angeben, was die Standardeinstellung in der Dokumentation ist. Gibt es eine Standardmethode, oder muss ich das in der Beschreibung erwähnen?

Antwort

13

The doc says:

Beachten Sie, dass der $ paramname, ... in dem Ausgang docs gezeigt wird sowohl die Parameterliste und die Funktion Signatur. Wenn Sie nicht im tatsächlichen Code angeben, dass der Parameter optional ist (über "$ paramname = 'a Standardwert" "), dann sollten Sie in der Parameterbeschreibung erwähnen, dass der Parameter optional ist.

Also, wenn Sie nicht die Standardbelegung der Funktionssignatur zeigen, wäre es eine gute Idee, es in der Beschreibung enthalten, aber in Ihrem Fall, dass Sie sind einschließlich es in der Signatur. Sie müssen also nichts ändern, wenn Sie sich dadurch nicht besser fühlen.

+0

Danke. Und es macht mich etwas besser fühlen, ja :) – KdgDev

+0

Dies ist die Antwort für den Fall, wenn ein optionaler Parameter in der Funktionssignatur enthalten ist. Aber was ist wenn nicht? Wie dokumentiere ich einen optionalen Parameter? Wie von Docs ist der einzige Weg, es in der Beschreibung zu erzählen. Also gibt es keine Möglichkeit zum Beispiel '[$ case = true]' zu schreiben. Selbst jsdoc hat es. – FreeLightman

Verwandte Themen