public function getItemsGroupedByTypes(): array
    {
        if (is_array($this->itemsGroupedByTypeCache)) {
            return $this->itemsGroupedByTypeCache;
        }

        $items = $this->getItems();
        $itemsGroupedByType = [];
        foreach ($items as $item) {
            if (!isset($itemsGroupedByType[$item->getType()])) {
                $itemsGroupedByType[$item->getType()] = [];
            }
            $itemsGroupedByType[$item->getType()][] = $item;
        }

        $this->itemsGroupedByTypeCache = $itemsGroupedByType;

        return $itemsGroupedByType;
    }
public function getItemsGroupedByTypes(): array
    {
        if (is_array($this->itemsGroupedByTypeCache)) {
            return $this->itemsGroupedByTypeCache;
        }

        $items = $this->getItems();
        $itemsGroupedByType = [];
        foreach ($items as $item) {
            if (!isset($itemsGroupedByType[$item->getType()])) {
                $itemsGroupedByType[$item->getType()] = [];
            }
            $itemsGroupedByType[$item->getType()][] = $item;
        }

        $this->itemsGroupedByTypeCache = $itemsGroupedByType;

        return $itemsGroupedByType;
    }
public function getItemsGroupedByTypes ( ) : array { if ( is_array ( $ this -> itemsGroupedByTypeCache ) ) { return $ this -> itemsGroupedByTypeCache ; } $ items = $ this -> getItems ( ) ; $ itemsGroupedByType = [ ] ; foreach ( $ items as $ item ) { if ( ! isset ( $ itemsGroupedByType [ $ item -> getType ( ) ] ) ) { $ itemsGroupedByType [ $ item -> getType ( ) ] = [ ] ; } $ itemsGroupedByType [ $ item -> getType ( ) ] [ ] = $ item ; } $ this -> itemsGroupedByTypeCache = $ itemsGroupedByType ; return $ itemsGroupedByType ; }
Get items grouped by type.

@return array
Get items grouped by type .