Tengo que editar mi respuesta por algo que he aprendido recientemente.
Usar en @return void
lugar de @return null
tiene un significado muy especial, considere los siguientes dos ejemplos de código PHP.
<?php
function return_never() {
echo "foo";
}
function return_sometimes() {
if ($this->condition()) {
return "foo";
}
}
En el primer ejemplo, PHP realmente regresará NULL
, ya que PHP siempre regresa NULL
. Pero el valor devuelto no es de utilidad para la persona que llama, ya que no dice nada sobre lo que hizo la función. Los IDE pueden usar la información documentada de @return void
para indicar al desarrollador que se usa un valor de retorno que no tiene ningún propósito.
<?php
$foo1 = return_never();
$foo2 = return_sometimes();
La primera llamada no tiene sentido ya que la variable siempre contendrá NULL
, la segunda podría contener algo. Esto se vuelve aún más interesante si ponemos las llamadas a funciones en un condicional.
<?php
if (($foo1 = return_never())) {
var_dump($foo1);
}
if (($foo2 = return_sometimes())) {
var_dump($foo2);
}
Como puede ver, @return void
tiene sus casos de uso y debe usarse si corresponde.
También tenga en cuenta que será parte del próximo estándar PHP PSR-5. [1]
[1] http://www.php-fig.org/psr/
void
y lo coloca en la firma del método en los documentos.