Blog de Gonzalo

TYPE VARIANCE EN PHP

El type variance en php es una de las novedades de la nueva versión 7.4 de php y consiste en poder cambiar el tipo de dato que se pasa por parámetro en un método y que es devuelto de una hija clase respecto a ese mismo método de la clase padre.
Ésto se puede entender con un ejemplo:

interface Factory {
	function make(): object;
}

class UserFactory implements Factory {
	function make(): User;
}

interface Concatable {
	function concat(Iterator $input); 
}
 
class Collection implements Concatable {
	// accepts all iterables, not just Iterator
	function concat(iterable $input) {/* . . . */}
}