public function add($item, $prepend = false)
    {
        $this->emitOnChange();
        $this->emit('item.add', [$item, $this]);
        $items = &$this->items();
        if ($prepend) {
            array_unshift($items, $item);
        } else {
            $items[] = $item;
        }

        return $this;
    }
public function add($item, $prepend = false)
    {
        $this->emitOnChange();
        $this->emit('item.add', [$item, $this]);
        $items = &$this->items();
        if ($prepend) {
            array_unshift($items, $item);
        } else {
            $items[] = $item;
        }

        return $this;
    }
public function add ( $ item , $ prepend = false ) { $ this -> emitOnChange ( ) ; $ this -> emit ( 'item.add' , [ $ item , $ this ] ) ; $ items = & $ this -> items ( ) ; if ( $ prepend ) { array_unshift ( $ items , $ item ) ; } else { $ items [ ] = $ item ; } return $ this ; }
Adds item to collection.

@param $item
@param bool $prepend false by default
@return $this
Adds item to collection .