File, null returned con VichUploaderBundle

Hace poco tenia integrado VichUploaderBundle y funcionaba sin mayores problemas, cuando toco hacer el paso a produccion, el servidor estaba con PHP 7.0, por ende tuve que agregarle en el config platform esta version para que las dependencias no producieran problema.

Cuando empece con las pruebas, mi entidad que manejaba los archivos empezo a generar este error:

Type error: Return value of AppBundle\Entity\Archivo::getImageFile() must be an instance of Symfony\Component\HttpFoundation\File\File, null returned

El motivo es porque si bien las dependencias estaban para PHP 7.0, mi entidad no reconocia el ? para indicar que es nullable ya que esto se incorporo en PHP 7.1

public function getImageFile(): ?File

La solucion es bastante simple, se reemplazo por:

/**
* @return File|UploadedFile|null
*/
public function getImageFile()

Notese que se elimino : ?File y se agrego en el comentario superior lo que iba a retornar, si este no tenia uno, se agrega.

En mi caso particular, mi setter permitia File|UploadedFile, por ende, debemos permitir lo mismo, más nuestro nullable que seria null. Con esto, se corrige el error y todo sigue funcionando correctamente.

Deja una respuesta