Wenn ich einen string definiere, dann erwarte ich auch einen String oder NULL.
Sehr häufig kann ich gar nicht wissen ob ein String NULL oder einfach nur leer ist.
Mangels sicherer Typisierung in PHP arbeite ich daher meist in so einen Fall
mit empty($test) oder !empty($test)
In dem Beispiel könnte das der Fall sein. Was wäre wenn der übergebene String leer wäre?
if ($test) { return $test; }
Schließlich geht ja auch folgendes:
Auch hier kann ich NULL als Wert übergeben!
function rechne(string $test=null) {
return (empty($test)) ? false : true;
}
Viel wichtiger fände ich zu erwähnen dass ab php 7.1 auch return types wie VOID akzeptiert werden