Optionaler PHPDoc-Parameter

Lesezeit: 2 Minuten

Es gibt bereits 2 ähnliche Fragen dieser Art hier auf SO, aber keine der Antworten scheint zu funktionieren.

PHPDoc scheint optionale Parameter in meinen Funktionen nicht als optional zu erkennen, zum Beispiel:

/**
 * Opens the connection and sets encoding
 * 
 * @param string $encoding Encoding.
 */
public function __construct($encoding='UTF-8') 
{
    $this->connect_mysqli();
    $this->set_encoding_mysqli($encoding);
}

Sollte es $encoding nicht als optional erkennen oder übersehe ich hier etwas? Ich habe wirklich versucht zu googeln und die Dokumentation zu lesen, aber alles, was ich gefunden habe, ist:

Wenn Sie im eigentlichen Code nicht angeben, dass der Parameter optional ist (über „$paramname=”ein Standardwert””), dann sollten Sie in der Beschreibung des Parameters erwähnen, dass der Parameter optional ist.

Ich sehe also kein Problem mit meinem Code, aber alles, was ich in der Dokumentation bekomme, ist: “__construct(string $encoding)”, kein Zeichen irgendwo, dass der Parameter optional ist.

Benutzer-Avatar
KingCrunch

Genau genommen kennt PHP keine „optionalen Parameter“, sondern Parameter mit Standardwerten, die beim Aufruf der Funktion oder Methode weggelassen werden können. OK, das ist am Ende ein optionaler Parameter, aber dein

@param string $encoding Encoding.

ist hier völlig richtig, denn der Standardwert ist ein String. Was die Dokumentation Ihnen zu sagen versucht, ist, dass Sie es selbst erwähnen sollten

@param string $encoding (optional) Encoding.

Ich stimme Ihnen zu, dass eine Notation wie

__construct([$encoding])

oder

__construct($encoding = 'UTF-8')

wäre nett. Sie können einen Fehlerbericht posten

https://github.com/phpDocumentor/phpDocumentor2/issues?state=open

Update: Habe festgestellt, dass dies bereits erwähnt wurde https://github.com/phpDocumentor/phpDocumentor2/search?q=optional&type=Issues

  • Ok, mein schlechtes als. Ich dachte, PHPDocumentor hätte diese Funktion bereits eingebaut und dachte, ich mache etwas falsch. Wird es für eine Weile offen halten, falls bald jemand mit neuen Informationen auftaucht, wenn er Ihre Antwort nicht akzeptiert. Vielen Dank

    Benutzer2742648

    19. November 2012 um 18:23 Uhr

  • Unterstützung zur neuesten Version von PHPDocumentor hinzugefügt. Sehen github.com/siad007/template.clean/commit/…

    – Techniker

    7. Januar 2015 um 23:07 Uhr

  • Kann dies mit der neuen Anmerkung aktualisiert werden? Keiner der hier angegebenen Links hat offensichtliche Antworten.

    – Oskarth

    24. September 2015 um 8:08 Uhr

1185940cookie-checkOptionaler PHPDoc-Parameter

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy