Ich muss meine Antwort aufgrund von etwas bearbeiten, das ich kürzlich gelernt habe.
Die Verwendung von @return voidanstelle von @return nullhat 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 voidhat 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/
voidund in die Methodensignatur in den Dokumenten eingefügt.