iterable: Iterable Type Variance

Iterable Type Variance

<?php

interface Example {
    public function method(array $array): iterable;
}

class ExampleImplementation implements Example {
    public function method(iterable $iterable): array {
        // Parameter broadened and return type narrowed.
    }
}

?>

Classes extending/implementing may broaden methods using array or Traversable as parameter types to iterable or narrow return types from iterable to array or Traversable.

Related concepts

Iterable Type Variance

iterable: Iterable Type Variance — Structure map

Clickable & Draggable!

iterable: Iterable Type Variance — Related pages: