SortedMiddleware
class SortedMiddleware extends Collection (View source)
Traits
Properties
Methods
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Create a new Sorted Middleware container.
Create a new collection instance if the value isn't one already.
Wrap the given value in a collection if applicable.
Create a new collection by invoking the callback a given amount of times.
Get the average value of a given key.
Alias for the "contains" method.
Determine if an item exists in the collection.
Determine if an item exists in the collection using strict comparison.
Cross join with the given lists, returning all possible permutations.
Get the items in the collection that are not present in the given items.
Get the items in the collection that are not present in the given items.
Get the items in the collection whose keys and values are not present in the given items.
Get the items in the collection whose keys and values are not present in the given items.
Get the items in the collection whose keys are not present in the given items.
Get the items in the collection whose keys are not present in the given items.
Retrieve duplicate items from the collection.
Retrieve duplicate items from the collection using strict comparison.
Get the comparison function to detect duplicates.
Execute a callback over each nested chunk of items.
Determine if all items in the collection pass the given test.
Apply the callback if the value is truthy.
Apply the callback if the collection is empty.
Apply the callback if the collection is not empty.
Apply the callback if the value is falsy.
Apply the callback unless the collection is empty.
Apply the callback unless the collection is not empty.
Filter items by the given key value pair.
Get an operator checker callback.
Filter items by the given key value pair using strict comparison.
Filter items by the given key value pair.
Filter items by the given key value pair using strict comparison.
Filter items such that the value of the given key is between the given values.
Filter items such that the value of the given key is not between the given values.
Filter items by the given key value pair.
Filter items by the given key value pair using strict comparison.
Filter the items, removing any items that don't match the given type.
Get the first item from the collection passing the given truth test.
Get the first item by the given key value pair.
Get a flattened array of the items in the collection.
Get an item from the collection by key.
Group an associative array by a field or using a callback.
Key an associative array by a field or using a callback.
Concatenate values of a given key as a string.
Intersect the collection with the given items by key.
Determine if the given value is callable, but not a string.
Join all items from the collection using a string. The final items can use a separate glue string.
Get the last item from the collection.
Get the values of a given key.
Run an associative map over each of the items.
Map a collection and flatten the result by a single level.
Recursively merge the collection with the given items.
Create a collection by using this collection for keys and another for its values.
Create a new collection consisting of every n-th element.
"Paginate" the collection by slicing it into a smaller collection.
Partition the collection into two arrays using the given callback or key.
Pass the collection to the given callback and return the result.
Push an item onto the beginning of the collection.
Push all of the given items onto the collection.
Get and remove an item from the collection.
Get one or a specified number of items randomly from the collection.
Reduce the collection to a single value.
Create a collection of all elements that do not pass a given truth test.
Recursively replace the collection items with the given items.
Search the collection for a given value and return the corresponding key if successful.
Slice the underlying collection array.
Split a collection into a certain number of groups.
Sort the collection using the given callback.
Sort the collection in descending order using the given callback.
Sort the collection keys.
Sort the collection keys in descending order.
Splice a portion of the underlying collection array.
Pass the collection to the given callback and then return it.
Transform each item in the collection using a callback.
Return only unique items from the collection array.
Return only unique items from the collection array using strict comparison.
Get a value retrieving callback.
Pad collection to the specified length with a value.
Get a CachingIterator instance.
Count the number of items in the collection using a given truth test.
Results array of items from Collection or Arrayable.
Sort the middlewares by the given priority map.
Splice a middleware into a new position and remove the old entry.
Details
static void
macro(string $name, object|callable $macro)
Register a custom macro.
static void
mixin(object $mixin, bool $replace = true)
Mix another object into the class.
static bool
hasMacro(string $name)
Checks if macro is registered.
static mixed
__callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
mixed
__call(string $method, array $parameters)
Dynamically handle calls to the class.
void
__construct(array $priorityMap, array|Collection $middlewares)
Create a new Sorted Middleware container.
static Collection
make(mixed $items = [])
Create a new collection instance if the value isn't one already.
static Collection
wrap(mixed $value)
Wrap the given value in a collection if applicable.
static array
unwrap(array|Collection $value)
Get the underlying items from the given collection if applicable.
static Collection
times(int $number, callable $callback = null)
Create a new collection by invoking the callback a given amount of times.
array
all()
Get all of the items in the collection.
mixed
avg(callable|string|null $callback = null)
Get the average value of a given key.
mixed
average(callable|string|null $callback = null)
Alias for the "avg" method.
mixed
median(string|array|null $key = null)
Get the median of a given key.
array|null
mode(string|array|null $key = null)
Get the mode of a given key.
Collection
collapse()
Collapse the collection of items into a single array.
bool
some(mixed $key, mixed $operator = null, mixed $value = null)
Alias for the "contains" method.
bool
contains(mixed $key, mixed $operator = null, mixed $value = null)
Determine if an item exists in the collection.
bool
containsStrict(mixed $key, mixed $value = null)
Determine if an item exists in the collection using strict comparison.
Collection
crossJoin(mixed ...$lists)
Cross join with the given lists, returning all possible permutations.
void
dd(mixed ...$args)
Dump the collection and end the script.
$this
dump()
Dump the collection.
Collection
diff(mixed $items)
Get the items in the collection that are not present in the given items.
Collection
diffUsing(mixed $items, callable $callback)
Get the items in the collection that are not present in the given items.
Collection
diffAssoc(mixed $items)
Get the items in the collection whose keys and values are not present in the given items.
Collection
diffAssocUsing(mixed $items, callable $callback)
Get the items in the collection whose keys and values are not present in the given items.
Collection
diffKeys(mixed $items)
Get the items in the collection whose keys are not present in the given items.
Collection
diffKeysUsing(mixed $items, callable $callback)
Get the items in the collection whose keys are not present in the given items.
Collection
duplicates(callable|null $callback = null, bool $strict = false)
Retrieve duplicate items from the collection.
Collection
duplicatesStrict(callable|null $callback = null)
Retrieve duplicate items from the collection using strict comparison.
protected Closure
duplicateComparator(bool $strict)
Get the comparison function to detect duplicates.
$this
each(callable $callback)
Execute a callback over each item.
Collection
eachSpread(callable $callback)
Execute a callback over each nested chunk of items.
bool
every(string|callable $key, mixed $operator = null, mixed $value = null)
Determine if all items in the collection pass the given test.
Collection
except(Collection|mixed $keys)
Get all items except for those with the specified keys.
Collection
filter(callable $callback = null)
Run a filter over each of the items.
Collection|mixed
when(bool $value, callable $callback, callable $default = null)
Apply the callback if the value is truthy.
Collection|mixed
whenEmpty(callable $callback, callable $default = null)
Apply the callback if the collection is empty.
Collection|mixed
whenNotEmpty(callable $callback, callable $default = null)
Apply the callback if the collection is not empty.
Collection|mixed
unless(bool $value, callable $callback, callable $default = null)
Apply the callback if the value is falsy.
Collection|mixed
unlessEmpty(callable $callback, callable $default = null)
Apply the callback unless the collection is empty.
Collection|mixed
unlessNotEmpty(callable $callback, callable $default = null)
Apply the callback unless the collection is not empty.
Collection
where(string $key, mixed $operator = null, mixed $value = null)
Filter items by the given key value pair.
protected Closure
operatorForWhere(string $key, string $operator = null, mixed $value = null)
Get an operator checker callback.
Collection
whereStrict(string $key, mixed $value)
Filter items by the given key value pair using strict comparison.
Collection
whereIn(string $key, mixed $values, bool $strict = false)
Filter items by the given key value pair.
Collection
whereInStrict(string $key, mixed $values)
Filter items by the given key value pair using strict comparison.
Collection
whereBetween(string $key, array $values)
Filter items such that the value of the given key is between the given values.
Collection
whereNotBetween(string $key, array $values)
Filter items such that the value of the given key is not between the given values.
Collection
whereNotIn(string $key, mixed $values, bool $strict = false)
Filter items by the given key value pair.
Collection
whereNotInStrict(string $key, mixed $values)
Filter items by the given key value pair using strict comparison.
Collection
whereInstanceOf(string $type)
Filter the items, removing any items that don't match the given type.
mixed
first(callable $callback = null, mixed $default = null)
Get the first item from the collection passing the given truth test.
mixed
firstWhere(string $key, mixed $operator = null, mixed $value = null)
Get the first item by the given key value pair.
Collection
flatten(int $depth = INF)
Get a flattened array of the items in the collection.
Collection
flip()
Flip the items in the collection.
$this
forget(string|array $keys)
Remove an item from the collection by key.
mixed
get(mixed $key, mixed $default = null)
Get an item from the collection by key.
Collection
groupBy(array|callable|string $groupBy, bool $preserveKeys = false)
Group an associative array by a field or using a callback.
Collection
keyBy(callable|string $keyBy)
Key an associative array by a field or using a callback.
bool
has(mixed $key)
Determine if an item exists in the collection by key.
string
implode(string $value, string $glue = null)
Concatenate values of a given key as a string.
Collection
intersect(mixed $items)
Intersect the collection with the given items.
Collection
intersectByKeys(mixed $items)
Intersect the collection with the given items by key.
bool
isEmpty()
Determine if the collection is empty or not.
bool
isNotEmpty()
Determine if the collection is not empty.
protected bool
useAsCallable(mixed $value)
Determine if the given value is callable, but not a string.
string
join(string $glue, string $finalGlue = '')
Join all items from the collection using a string. The final items can use a separate glue string.
Collection
keys()
Get the keys of the collection items.
mixed
last(callable $callback = null, mixed $default = null)
Get the last item from the collection.
Collection
pluck(string|array $value, string|null $key = null)
Get the values of a given key.
Collection
map(callable $callback)
Run a map over each of the items.
Collection
mapSpread(callable $callback)
Run a map over each nested chunk of items.
Collection
mapToDictionary(callable $callback)
Run a dictionary map over the items.
The callback should return an associative array with a single key/value pair.
Collection
mapToGroups(callable $callback)
Run a grouping map over the items.
The callback should return an associative array with a single key/value pair.
Collection
mapWithKeys(callable $callback)
Run an associative map over each of the items.
The callback should return an associative array with a single key/value pair.
Collection
flatMap(callable $callback)
Map a collection and flatten the result by a single level.
Collection
mapInto(string $class)
Map the values into a new class.
mixed
max(callable|string|null $callback = null)
Get the max value of a given key.
Collection
merge(mixed $items)
Merge the collection with the given items.
Collection
mergeRecursive(mixed $items)
Recursively merge the collection with the given items.
Collection
combine(mixed $values)
Create a collection by using this collection for keys and another for its values.
Collection
union(mixed $items)
Union the collection with the given items.
mixed
min(callable|string|null $callback = null)
Get the min value of a given key.
Collection
nth(int $step, int $offset = 0)
Create a new collection consisting of every n-th element.
Collection
only(mixed $keys)
Get the items with the specified keys.
Collection
forPage(int $page, int $perPage)
"Paginate" the collection by slicing it into a smaller collection.
Collection
partition(callable|string $key, mixed $operator = null, mixed $value = null)
Partition the collection into two arrays using the given callback or key.
mixed
pipe(callable $callback)
Pass the collection to the given callback and return the result.
mixed
pop()
Get and remove the last item from the collection.
$this
prepend(mixed $value, mixed $key = null)
Push an item onto the beginning of the collection.
$this
push(mixed $value)
Push an item onto the end of the collection.
Collection
concat(iterable $source)
Push all of the given items onto the collection.
mixed
pull(mixed $key, mixed $default = null)
Get and remove an item from the collection.
$this
put(mixed $key, mixed $value)
Put an item in the collection by key.
Collection|mixed
random(int|null $number = null)
Get one or a specified number of items randomly from the collection.
mixed
reduce(callable $callback, mixed $initial = null)
Reduce the collection to a single value.
Collection
reject(callable|mixed $callback = true)
Create a collection of all elements that do not pass a given truth test.
Collection
replace(mixed $items)
Replace the collection items with the given items.
Collection
replaceRecursive(mixed $items)
Recursively replace the collection items with the given items.
Collection
reverse()
Reverse items order.
mixed
search(mixed $value, bool $strict = false)
Search the collection for a given value and return the corresponding key if successful.
mixed
shift()
Get and remove the first item from the collection.
Collection
shuffle(int $seed = null)
Shuffle the items in the collection.
Collection
slice(int $offset, int $length = null)
Slice the underlying collection array.
Collection
split(int $numberOfGroups)
Split a collection into a certain number of groups.
Collection
chunk(int $size)
Chunk the underlying collection array.
Collection
sort(callable $callback = null)
Sort through each item with a callback.
Collection
sortBy(callable|string $callback, int $options = SORT_REGULAR, bool $descending = false)
Sort the collection using the given callback.
Collection
sortByDesc(callable|string $callback, int $options = SORT_REGULAR)
Sort the collection in descending order using the given callback.
Collection
sortKeys(int $options = SORT_REGULAR, bool $descending = false)
Sort the collection keys.
Collection
sortKeysDesc(int $options = SORT_REGULAR)
Sort the collection keys in descending order.
Collection
splice(int $offset, int|null $length = null, mixed $replacement = [])
Splice a portion of the underlying collection array.
mixed
sum(callable|string|null $callback = null)
Get the sum of the given values.
Collection
take(int $limit)
Take the first or last {$limit} items.
$this
tap(callable $callback)
Pass the collection to the given callback and then return it.
$this
transform(callable $callback)
Transform each item in the collection using a callback.
Collection
unique(string|callable|null $key = null, bool $strict = false)
Return only unique items from the collection array.
Collection
uniqueStrict(string|callable|null $key = null)
Return only unique items from the collection array using strict comparison.
Collection
values()
Reset the keys on the underlying array.
protected callable
valueRetriever(callable|string|null $value)
Get a value retrieving callback.
Collection
zip(mixed $items)
Zip the collection together with one or more arrays.
e.g. new Collection([1, 2, 3])->zip([4, 5, 6]); => [[1, 4], [2, 5], [3, 6]]
Collection
pad(int $size, mixed $value)
Pad collection to the specified length with a value.
array
toArray()
Get the instance as an array.
array
jsonSerialize()
Convert the object into something JSON serializable.
string
toJson(int $options = 0)
Convert the object to its JSON representation.
ArrayIterator
getIterator()
Get an iterator for the items.
CachingIterator
getCachingIterator(int $flags = CachingIterator::CALL_TOSTRING)
Get a CachingIterator instance.
int
count()
Count the number of items in the collection.
Collection
countBy(callable|null $callback = null)
Count the number of items in the collection using a given truth test.
$this
add(mixed $item)
Add an item to the collection.
Collection
toBase()
Get a base Support collection instance from this collection.
bool
offsetExists(mixed $key)
Determine if an item exists at an offset.
mixed
offsetGet(mixed $key)
Get an item at a given offset.
void
offsetSet(mixed $key, mixed $value)
Set the item at a given offset.
void
offsetUnset(string $key)
Unset the item at a given offset.
string
__toString()
Convert the collection to its string representation.
protected array
getArrayableItems(mixed $items)
Results array of items from Collection or Arrayable.
static void
proxy(string $method)
Add a method to the list of proxied methods.
mixed
__get(string $key)
Dynamically access collection proxies.
protected array
sortMiddleware(array $priorityMap, array $middlewares)
Sort the middlewares by the given priority map.
Each call to this method makes one discrete middleware movement if necessary.
protected array
moveMiddleware(array $middlewares, int $from, int $to)
Splice a middleware into a new position and remove the old entry.