Fr3nch13/CakePHP Utilities

BufferedIterator extends Collection
in package
implements Countable, Serializable

Creates an iterator from another iterator that will keep the results of the inner iterator in memory, so that results don't have to be re-calculated.

Table of Contents

Interfaces

Countable
Serializable

Properties

$_buffer  : SplDoublyLinkedList
The in-memory cache containing results from previous iterators
$_current  : mixed
Last record fetched from the inner iterator
$_finished  : bool
Whether the internal iterator has reached its end.
$_index  : int
Points to the next record number that should be fetched
$_key  : mixed
Last key obtained from the inner iterator
$_started  : bool
Whether the internal iterator's rewind method was already called

Methods

__construct()  : mixed
Maintains an in-memory cache of the results yielded by the internal iterator.
__debugInfo()  : array<string, mixed>
Returns an array that can be used to describe the internal state of this object.
__serialize()  : array<string|int, mixed>
Magic method used for serializing the iterator instance.
__unserialize()  : void
Magic method used to rebuild the iterator instance.
append()  : CollectionInterface
appendItem()  : CollectionInterface
avg()  : mixed
buffered()  : CollectionInterface
cartesianProduct()  : CollectionInterface
{@inheritDoc}
chunk()  : CollectionInterface
chunkWithKeys()  : CollectionInterface
combine()  : CollectionInterface
compile()  : CollectionInterface
contains()  : bool
count()  : int
Returns the number or items in this collection
countBy()  : CollectionInterface
countKeys()  : int
Returns the number of unique keys in this iterator. This is the same as the number of elements the collection will contain after calling `toArray()`
current()  : mixed
Returns the current record in the iterator
each()  : mixed
every()  : bool
extract()  : CollectionInterface
filter()  : CollectionInterface
first()  : mixed
firstMatch()  : mixed
groupBy()  : CollectionInterface
indexBy()  : CollectionInterface
insert()  : CollectionInterface
isEmpty()  : bool
jsonSerialize()  : array<string|int, mixed>
key()  : mixed
Returns the current key in the iterator
last()  : mixed
lazy()  : CollectionInterface
listNested()  : CollectionInterface
map()  : CollectionInterface
match()  : CollectionInterface
max()  : mixed
median()  : mixed
min()  : mixed
nest()  : CollectionInterface
next()  : void
Advances the iterator pointer to the next element
prepend()  : CollectionInterface
prependItem()  : CollectionInterface
reduce()  : mixed
reject()  : CollectionInterface
rewind()  : void
Rewinds the collection
sample()  : CollectionInterface
serialize()  : string
Returns a string representation of this object that can be used to reconstruct it
shuffle()  : CollectionInterface
skip()  : CollectionInterface
some()  : bool
sortBy()  : CollectionInterface
stopWhen()  : CollectionInterface
sumOf()  : mixed
take()  : CollectionInterface
takeLast()  : CollectionInterface
through()  : CollectionInterface
toArray()  : array<string|int, mixed>
toList()  : array<string|int, mixed>
transpose()  : CollectionInterface
{@inheritDoc}
unfold()  : CollectionInterface
unserialize()  : void
Unserializes the passed string and rebuilds the BufferedIterator instance
unwrap()  : Traversable
valid()  : bool
Returns whether the iterator has more elements
zip()  : CollectionInterface
zipWith()  : CollectionInterface
newCollection()  : CollectionInterface
Returns a new collection.
optimizeUnwrap()  : iterable<string|int, mixed>
Unwraps this iterator and returns the simplest traversable that can be used for getting the data out

Properties

$_buffer

The in-memory cache containing results from previous iterators

protected SplDoublyLinkedList $_buffer

$_current

Last record fetched from the inner iterator

protected mixed $_current

$_finished

Whether the internal iterator has reached its end.

protected bool $_finished = false

$_index

Points to the next record number that should be fetched

protected int $_index = 0

$_started

Whether the internal iterator's rewind method was already called

protected bool $_started = false

Methods

__construct()

Maintains an in-memory cache of the results yielded by the internal iterator.

public __construct(iterable<string|int, mixed> $items) : mixed
Parameters
$items : iterable<string|int, mixed>

The items to be filtered.

__debugInfo()

Returns an array that can be used to describe the internal state of this object.

public __debugInfo() : array<string, mixed>
Return values
array<string, mixed>

__serialize()

Magic method used for serializing the iterator instance.

public __serialize() : array<string|int, mixed>
Return values
array<string|int, mixed>

__unserialize()

Magic method used to rebuild the iterator instance.

public __unserialize(array<string|int, mixed> $data) : void
Parameters
$data : array<string|int, mixed>

Data array.

avg()

public avg([mixed $path = null ]) : mixed
Parameters
$path : mixed = null
Tags
inheritDoc

cartesianProduct()

{@inheritDoc}

public cartesianProduct([callable|null $operation = null ][, callable|null $filter = null ]) : CollectionInterface
Parameters
$operation : callable|null = null

A callable that allows you to customize the product result.

$filter : callable|null = null

A filtering callback that must return true for a result to be part of the final results.

Tags
throws
LogicException
Return values
CollectionInterface

contains()

public contains(mixed $value) : bool
Parameters
$value : mixed
Tags
inheritDoc
Return values
bool

count()

Returns the number or items in this collection

public count() : int
Return values
int

countKeys()

Returns the number of unique keys in this iterator. This is the same as the number of elements the collection will contain after calling `toArray()`

public countKeys() : int
Return values
int

current()

Returns the current record in the iterator

public current() : mixed
Attributes
#[ReturnTypeWillChange]

each()

public each(callable $callback) : mixed
Parameters
$callback : callable
Tags
inheritDoc

every()

public every(callable $callback) : bool
Parameters
$callback : callable
Tags
inheritDoc
Return values
bool

firstMatch()

public firstMatch(array<string|int, mixed> $conditions) : mixed
Parameters
$conditions : array<string|int, mixed>
Tags
inheritDoc

isEmpty()

public isEmpty() : bool
Tags
inheritDoc
Return values
bool

jsonSerialize()

public jsonSerialize() : array<string|int, mixed>
Tags
inheritDoc
Return values
array<string|int, mixed>

key()

Returns the current key in the iterator

public key() : mixed
Attributes
#[ReturnTypeWillChange]

max()

public max(mixed $path[, int $sort = SORT_NUMERIC ]) : mixed
Parameters
$path : mixed
$sort : int = SORT_NUMERIC
Tags
inheritDoc

median()

public median([mixed $path = null ]) : mixed
Parameters
$path : mixed = null
Tags
inheritDoc

min()

public min(mixed $path[, int $sort = SORT_NUMERIC ]) : mixed
Parameters
$path : mixed
$sort : int = SORT_NUMERIC
Tags
inheritDoc

next()

Advances the iterator pointer to the next element

public next() : void

reduce()

public reduce(callable $callback[, mixed $initial = null ]) : mixed
Parameters
$callback : callable
$initial : mixed = null
Tags
inheritDoc

serialize()

Returns a string representation of this object that can be used to reconstruct it

public serialize() : string
Return values
string

some()

public some(callable $callback) : bool
Parameters
$callback : callable
Tags
inheritDoc
Return values
bool

sumOf()

public sumOf([mixed $path = null ]) : mixed
Parameters
$path : mixed = null
Tags
inheritDoc

toArray()

public toArray([bool $keepKeys = true ]) : array<string|int, mixed>
Parameters
$keepKeys : bool = true
Tags
inheritDoc
Return values
array<string|int, mixed>

toList()

public toList() : array<string|int, mixed>
Tags
inheritDoc
Return values
array<string|int, mixed>

unserialize()

Unserializes the passed string and rebuilds the BufferedIterator instance

public unserialize(string $collection) : void
Parameters
$collection : string

The serialized buffer iterator

unwrap()

public unwrap() : Traversable
Tags
inheritDoc
Return values
Traversable

valid()

Returns whether the iterator has more elements

public valid() : bool
Return values
bool

newCollection()

Returns a new collection.

protected newCollection(mixed ...$args) : CollectionInterface

Allows classes which use this trait to determine their own type of returned collection interface

Parameters
$args : mixed

Constructor arguments.

Return values
CollectionInterface

optimizeUnwrap()

Unwraps this iterator and returns the simplest traversable that can be used for getting the data out

protected optimizeUnwrap() : iterable<string|int, mixed>
Return values
iterable<string|int, mixed>

        
On this page

Search results