Ich muss meine Antwort aufgrund von etwas bearbeiten, das ich kürzlich gelernt habe.
Die Verwendung von @return void
anstelle von @return null
hat eine ganz besondere Bedeutung. Betrachten Sie die folgenden zwei Beispiele für PHP-Code.
<?php
function return_never() {
echo "foo";
}
function return_sometimes() {
if ($this->condition()) {
return "foo";
}
}
Im ersten Beispiel wird PHP tatsächlich zurückgegeben NULL
, da PHP immer zurückgibt NULL
. Der zurückgegebene Wert ist für den Aufrufer jedoch nicht von Nutzen, da er nichts darüber aussagt, was die Funktion getan hat. IDEs können die dokumentierten Informationen von verwenden @return void
, um dem Entwickler anzuzeigen, dass Rückgabewerte verwendet werden, die keinen Zweck erfüllen.
<?php
$foo1 = return_never();
$foo2 = return_sometimes();
Der erste Aufruf ist sinnlos, da die Variable immer enthält NULL
, der zweite möglicherweise tatsächlich etwas. Dies wird noch interessanter, wenn wir die Funktionsaufrufe in eine Bedingung setzen.
<?php
if (($foo1 = return_never())) {
var_dump($foo1);
}
if (($foo2 = return_sometimes())) {
var_dump($foo2);
}
Wie Sie sehen können, @return void
hat seine Anwendungsfälle und sollte gegebenenfalls verwendet werden.
Beachten Sie auch, dass es Teil des kommenden PHP PSR-5-Standards sein wird. [1]
[1] http://www.php-fig.org/psr/
void
und in die Methodensignatur in den Dokumenten eingefügt.