Update documentation

This commit is contained in:
Sebastian Meyer 2024-07-11 13:08:56 +02:00
parent c249ac7ae7
commit 09d3940a1f
60 changed files with 1767 additions and 593 deletions

View File

@ -54,7 +54,7 @@ v2.0.0
* Added new trait :php:trait:`OCC\Basics\Traits\OverloadingGetter`
* Added new trait :php:trait:`OCC\Basics\Traits\OverloadingSetter`
* Added new trait :php:trait:`OCC\Basics\Traits\TypeChecker`
* Extended API for all datastructures (see :php:trait:`OCC\Basics\DataStructures\Traits\StrictSplDatastructureTrait`)
* Extended API for all datastructures (see :php:trait:`OCC\Basics\DataStructures\Traits\StrictSplDoublyLinkedListTrait`)
* Introduced :php:class:`OCC\Basics\DataStructures\Exceptions\InvalidDataTypeException` for strict datastructures
* Extended `documentation <https://opencultureconsulting.github.io/php-basics/>`_

View File

@ -10,13 +10,13 @@ The datastructures in this package are derived from their respective `Standard P
<https://www.php.net/spl.datastructures>`_ which they extend by the option to control the data types of items those
datastructures can hold.
To restrict allowed data types for items, provide the constructor with an array of atomic types or fully qualified
class names you want to allow as item types. Available atomic types are `array`, `bool`, `callable`, `countable`,
`float` / `double`, `int` / `integer` / `long`, `iterable`, `null`, `numeric`, `object`, `resource`, `scalar` and
`string`.
To restrict allowed data types for items provide the constructor with an array of atomic types or fully qualified class
names (FQCN) you want to allow as item types. Available atomic types are `array`, `bool`, `callable`, `countable`,
`float` (or `double`), `int` (or `integer` or `long`), `iterable`, `null`, `numeric`, `object`, `resource`, `scalar`
and `string`.
Trying to add an item with a data type not on the list of allowed types to a strict datastructure will result in an
:php:class:`OCC\Basics\DataStructures\Exceptions\InvalidDataTypeException`.
:php:class:`OCC\Basics\DataStructures\Exceptions\InvalidDataTypeException` being thrown.
All strict datastructures inherit the implementation of the `\ArrayAccess <https://www.php.net/arrayaccess>`_,
`\Countable <https://www.php.net/countable>`_ and `\Serializable <https://www.php.net/serializable>`_ interfaces. All

View File

@ -6,8 +6,8 @@ Overview
The package currently contains classes for :doc:`datastructures`, :doc:`errorhandlers`, multiple :doc:`interfaces`, and
more generic :doc:`traits` for common use cases. They share the same design principles like property and method naming
schema, the highest coding standards of `PHPStan <https://phpstan.org/>`_ and `Psalm <https://psalm.dev/>`_, and full
`PSR-12 <https://www.php-fig.org/psr/psr-12/>`_ compliance to make sure they can be combined and easily re-used in
other projects.
`PSR-12 <https://www.php-fig.org/psr/psr-12/>`_ compliance to make sure they can be combined and easily used in other
projects.
.. toctree::
:maxdepth: 2

View File

@ -23,7 +23,7 @@ reading. Replace `{Property}` in the method's name with the name of the actual p
letter).
Trying to access an undefined property or a property without corresponding "magic" getter method will result in an
`\InvalidArgumentException <https://www.php.net/invalidargumentexception>`_.
`\InvalidArgumentException <https://www.php.net/invalidargumentexception>`_ being thrown.
Example: If the property is named `$fooBar`, the "magic" method has to be `_magicGetFooBar()`. This method is then
called when `$fooBar` is read in a context where it normally would not be accessible.
@ -41,7 +41,7 @@ writing. Replace `{Property}` in the method's name with the name of the actual p
letter).
Trying to access an undefined property or a property without corresponding "magic" setter method will result in an
`\InvalidArgumentException <https://www.php.net/invalidargumentexception>`_.
`\InvalidArgumentException <https://www.php.net/invalidargumentexception>`_ being thrown.
Example: If the property is named `$fooBar`, the "magic" method has to be `_magicSetFooBar()`. This method is then
called when `$fooBar` is written to in a context where it normally would not be accessible.
@ -109,5 +109,5 @@ TypeChecker
This allows to set a list of allowed atomic data types and fully qualified class names. It also provides a method to
check if a value's data type matches at least one of these types.
Available atomic types are `array`, `bool`, `callable`, `countable`, `float` / `double`, `int` / `integer` / `long`,
`iterable`, `null`, `numeric`, `object`, `resource`, `scalar` and `string`.
Available atomic types are `array`, `bool`, `callable`, `countable`, `float` (or `double`), `int` (or `integer` or
`long`), `iterable`, `null`, `numeric`, `object`, `resource`, `scalar` and `string`.

View File

@ -9,7 +9,7 @@ Installation
Composer
========
The intended and recommended way of re-using this package is via `Composer <https://getcomposer.org/>`_. The following
The intended and recommended way of using this package is via `Composer <https://getcomposer.org/>`_. The following
command will get you the latest version and make it a dependency of your project. It will also register all classes and
traits with the autoloader to make them available inside the application.
@ -23,8 +23,8 @@ the desired version constraint:
.. code-block:: shell
# This will install the latest patch level version of 2.0 (i. e. >=2.0.0 && <2.1.0)
composer require "opencultureconsulting/basics:~2.0"
# This will install the latest patch level version of 2.1 (i. e. >=2.1.0 && <2.2.0)
composer require "opencultureconsulting/basics:~2.1"
All available versions as well as further information about :doc:`requirements` and dependencies can be found on
`Packagist <https://packagist.org/packages/opencultureconsulting/basics>`_.
@ -46,8 +46,8 @@ well:
.. code-block:: shell
# This will clone the repository state at version "2.0.0" into the "basics" directory
git clone --branch=v2.0.0 https://github.com/opencultureconsulting/php-basics.git basics
# This will clone the repository state at version "2.1.0" into the "basics" directory
git clone --branch=v2.1.0 https://github.com/opencultureconsulting/php-basics.git basics
Be aware that you also need to make the classes and traits available in your application by either adding them to your
autoloader or by including all files individually in PHP.

View File

@ -9,8 +9,8 @@ Environment
This package requires at least **PHP 8.1**.
It is highly recommended to use `Composer <https://getcomposer.org/>`_ for dependency management and autoloading,
although it is technically not strictly required for re-using any of these classes and traits. But it certainly
makes it a lot easier!
although it is technically not strictly required for using any of these classes and traits. But it certainly makes it a
lot easier!
Dependencies
============

View File

@ -2,11 +2,11 @@
***A collection of generic classes and useful traits for PHP projects.***
The package currently contains classes for [type-sensitive data structures](src/DataStructures/), [error and exception handlers](src/ErrorHandlers/), multiple [traits implementing standard interfaces](src/Interfaces/), and more generic [traits for common use cases](src/Traits/). They share the same design principles like property and method naming schema, highest coding standards of [PHPStan](https://phpstan.org/) and [Psalm](https://psalm.dev/), and full [PSR-12](https://www.php-fig.org/psr/psr-12/) compliance to make sure they can be combined and easily re-used in other projects.
The package currently contains classes for [type-sensitive data structures](src/DataStructures/), [error and exception handlers](src/ErrorHandlers/), multiple [traits implementing standard interfaces](src/Interfaces/), and more generic [traits for common use cases](src/Traits/). They share the same design principles like property and method naming schema, highest coding standards of [PHPStan](https://phpstan.org/) and [Psalm](https://psalm.dev/), and full [PSR-12](https://www.php-fig.org/psr/psr-12/) compliance to make sure they can be combined and easily used in other projects.
## Quick Start
The intended and recommended way of re-using this package is via [Composer](https://getcomposer.org/). The following command will get you the latest version:
The intended and recommended way of using this package is via [Composer](https://getcomposer.org/). The following command will get you the latest version:
composer require opencultureconsulting/basics

View File

@ -209,6 +209,7 @@
<p class="phpdocumentor-summary">Common exception for type-sensitive datastructures.</p>
<section class="phpdocumentor-description"><p>Exception thrown if a value does not adhere to the defined list of valid
data types.</p>
</section>
@ -233,6 +234,8 @@ data types.</p>
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-DataStructures-Exceptions-InvalidDataTypeException.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -256,7 +259,6 @@ data types.</p>
<div class="phpdocumentor-modal" id="source-view">
<div class="phpdocumentor-modal-bg" data-exit-button></div>
<div class="phpdocumentor-modal-container">

View File

@ -195,7 +195,7 @@
<abbr title="\Iterator">Iterator</abbr> </span>
<span class="phpdocumentor-element__extends">
Uses
uses
<a href="classes/OCC-Basics-Interfaces-IteratorTrait.html"><abbr title="\OCC\Basics\Interfaces\IteratorTrait">IteratorTrait</abbr></a> </span>
</h2>
@ -214,6 +214,7 @@
<p class="phpdocumentor-summary">A type-sensitive, traversable array.</p>
<section class="phpdocumentor-description"><p>Holds items as key/value pairs where keys have to be valid array keys while
values can be of any type. To restrict allowed data types for items, provide
the constructor with an array of atomic types or fully qualified class
@ -250,6 +251,8 @@ names.</p>
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-DataStructures-StrictArray.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -279,231 +282,231 @@ names.</p>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method___construct">__construct()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method___construct">__construct()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Create a type-sensitive collection of items.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_add">add()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_add">add()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Add/insert a item at the specified index.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_bottom">bottom()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictArray.html#method_bottom">bottom()</a>
<span>
&nbsp;: <abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr> </span>
</dt>
<dd>Peek at the first item of the array.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_clear">clear()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_clear">clear()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Clear the collection of any items.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-CountableTrait.html#method_count">count()</a>
<a class="" href="classes/OCC-Basics-Interfaces-CountableTrait.html#method_count">count()</a>
<span>
&nbsp;: int<0, max> </span>
</dt>
<dd>Count the data items.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_current">current()</a>
<a class="" href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_current">current()</a>
<span>
&nbsp;: <abbr title="\OCC\Basics\Interfaces\TValue">TValue</abbr>|null </span>
</dt>
<dd>Return the current item.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_get">get()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_get">get()</a>
<span>
&nbsp;: <abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr> </span>
</dt>
<dd>Get the item at the specified index.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-TypeChecker.html#method_getAllowedTypes">getAllowedTypes()</a>
<a class="" href="classes/OCC-Basics-Traits-TypeChecker.html#method_getAllowedTypes">getAllowedTypes()</a>
<span>
&nbsp;: array&lt;string|int, string&gt; </span>
</dt>
<dd>Get allowed data types.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-TypeChecker.html#method_hasAllowedType">hasAllowedType()</a>
<a class="" href="classes/OCC-Basics-Traits-TypeChecker.html#method_hasAllowedType">hasAllowedType()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Check if a value&#039;s data type is allowed.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-TypeChecker.html#method_isAllowedType">isAllowedType()</a>
<a class="" href="classes/OCC-Basics-Traits-TypeChecker.html#method_isAllowedType">isAllowedType()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Check if a data type is allowed.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_isEmpty">isEmpty()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_isEmpty">isEmpty()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Check if collection is empty.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_isList">isList()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_isList">isList()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Check if this collection can be considered a list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_key">key()</a>
<a class="" href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_key">key()</a>
<span>
&nbsp;: string|int|null </span>
</dt>
<dd>Return the current key.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_next">next()</a>
<a class="" href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_next">next()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Move forward to next item.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetExists">offsetExists()</a>
<a class="" href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetExists">offsetExists()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Check if the specified offset exists.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetGet">offsetGet()</a>
<a class="" href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetGet">offsetGet()</a>
<span>
&nbsp;: <abbr title="\OCC\Basics\Interfaces\TValue">TValue</abbr>|null </span>
</dt>
<dd>Retrieve data at the specified offset.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetSet">offsetSet()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_offsetSet">offsetSet()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Assign a value to the specified offset.</dd>
<dd>Set the item at the specified offset.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetUnset">offsetUnset()</a>
<a class="" href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetUnset">offsetUnset()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Unset the specified offset.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_pop">pop()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictArray.html#method_pop">pop()</a>
<span>
&nbsp;: <abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr> </span>
</dt>
<dd>Pop the item from the end of the array.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_prev">prev()</a>
<a class="" href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_prev">prev()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Move back to previous item.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_push">push()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictArray.html#method_push">push()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Push an item at the end of the array.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_remove">remove()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_remove">remove()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Remove an item from the collection.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_rewind">rewind()</a>
<a class="" href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_rewind">rewind()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Rewind the iterator to the first item.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_serialize">serialize()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_serialize">serialize()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Get string representation of $this.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_set">set()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_set">set()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Set an item at the specified index.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-TypeChecker.html#method_setAllowedTypes">setAllowedTypes()</a>
<a class="" href="classes/OCC-Basics-Traits-TypeChecker.html#method_setAllowedTypes">setAllowedTypes()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Set allowed data types.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_shift">shift()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictArray.html#method_shift">shift()</a>
<span>
&nbsp;: <abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr> </span>
</dt>
<dd>Shift the item from the beginning of the array.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toArray">toArray()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toArray">toArray()</a>
<span>
&nbsp;: array&lt;string|int, <abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr>&gt; </span>
</dt>
<dd>Return array representation of collection.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_top">top()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictArray.html#method_top">top()</a>
<span>
&nbsp;: <abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr> </span>
</dt>
<dd>Peek at the last item of the array.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toStrictList">toStrictList()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toStrictList">toStrictList()</a>
<span>
&nbsp;: <a href="classes/OCC-Basics-DataStructures-StrictList.html"><abbr title="\OCC\Basics\DataStructures\StrictList">StrictList</abbr></a>&lt;string|int, <abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr>&gt; </span>
</dt>
<dd>Turn collection into a type-sensitive list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_unserialize">unserialize()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_unserialize">unserialize()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Restore $this from string representation.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_unshift">unshift()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictArray.html#method_unshift">unshift()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Prepend the array with an item.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_valid">valid()</a>
<a class="" href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_valid">valid()</a>
<span>
&nbsp;: bool </span>
</dt>
@ -517,7 +520,6 @@ names.</p>
<section class="phpdocumentor-methods">
<h3 class="phpdocumentor-elements__header" id="methods">
Methods
@ -552,6 +554,7 @@ names.</p>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -602,6 +605,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -633,6 +638,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -675,6 +681,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -708,6 +716,7 @@ Possible values are:</p>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_bottom#tags" class="headerlink"><i class="fas fa-link"></i></a>
@ -726,6 +735,8 @@ Possible values are:</p>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr></span>
@ -770,6 +781,9 @@ Possible values are:</p>
</article>
<article
class="phpdocumentor-element
@ -804,6 +818,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">int<0, max></span>
@ -847,6 +864,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\OCC\Basics\Interfaces\TValue">TValue</abbr>|null</span>
@ -887,6 +907,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -919,6 +940,8 @@ Possible values are:</p>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr></span>
@ -962,6 +985,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">array&lt;string|int, string&gt;</span>
@ -1002,6 +1028,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1017,6 +1044,8 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -1057,6 +1086,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1072,6 +1102,8 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -1115,6 +1147,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -1154,6 +1189,7 @@ Possible values are:</p>
<div class="phpdocumentor-label phpdocumentor-label--success"><span>API</span><span>Yes</span></div>
</div>
<section class="phpdocumentor-description"><p>It is considered a list if all keys are consecutive integers starting
from <code class="prettyprint">0</code>.</p>
</section>
@ -1176,6 +1212,8 @@ from <code class="prettyprint">0</code>.</p>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -1219,6 +1257,9 @@ from <code class="prettyprint">0</code>.</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string|int|null</span>
@ -1263,6 +1304,9 @@ from <code class="prettyprint">0</code>.</p>
</article>
<article
class="phpdocumentor-element
@ -1294,6 +1338,7 @@ from <code class="prettyprint">0</code>.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1309,6 +1354,8 @@ from <code class="prettyprint">0</code>.</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -1349,6 +1396,7 @@ from <code class="prettyprint">0</code>.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1364,6 +1412,8 @@ from <code class="prettyprint">0</code>.</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\OCC\Basics\Interfaces\TValue">TValue</abbr>|null</span>
@ -1382,28 +1432,29 @@ from <code class="prettyprint">0</code>.</p>
>
<h4 class="phpdocumentor-element__name" id="method_offsetSet">
offsetSet()
<a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetSet" class="headerlink"><i class="fas fa-link"></i></a>
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_offsetSet" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Interfaces/ArrayAccessTrait.php"><a href="files/src-interfaces-arrayaccesstrait.html"><abbr title="src/Interfaces/ArrayAccessTrait.php">ArrayAccessTrait.php</abbr></a></abbr>
<abbr class="phpdocumentor-element-found-in__file" title="src/DataStructures/StrictCollection.php"><a href="files/src-datastructures-strictcollection.html"><abbr title="src/DataStructures/StrictCollection.php">StrictCollection.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">93</span>
<span class="phpdocumentor-element-found-in__line">179</span>
<a href="classes/OCC-Basics-DataStructures-StrictArray.html#source-view.93" class="phpdocumentor-element-found-in__source" data-line="93" data-modal="source-view" data-src="files/src/Interfaces/ArrayAccessTrait.php.txt"></a>
<a href="classes/OCC-Basics-DataStructures-StrictArray.html#source-view.179" class="phpdocumentor-element-found-in__source" data-line="179" data-modal="source-view" data-src="files/src/DataStructures/StrictCollection.php.txt"></a>
</aside>
<p class="phpdocumentor-summary">Assign a value to the specified offset.</p>
<p class="phpdocumentor-summary">Set the item at the specified offset.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">offsetSet</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string|int|null&nbsp;</span><span class="phpdocumentor-signature__argument__name">$offset</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><abbr title="\OCC\Basics\Interfaces\TValue">TValue</abbr>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$value</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">void</span></code>
<span class="phpdocumentor-signature__name">offsetSet</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string|int|null&nbsp;</span><span class="phpdocumentor-signature__argument__name">$offset</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$value</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">void</span></code>
<div class="phpdocumentor-label-line">
<div class="phpdocumentor-label phpdocumentor-label--success"><span>API</span><span>Yes</span></div>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1411,16 +1462,45 @@ from <code class="prettyprint">0</code>.</p>
: <span class="phpdocumentor-signature__argument__return-type">string|int|null</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>The offset to assign to or NULL to append</p>
<section class="phpdocumentor-description"><p>The offset being set</p>
</section>
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$value</span>
: <span class="phpdocumentor-signature__argument__return-type"><abbr title="\OCC\Basics\Interfaces\TValue">TValue</abbr></span>
: <span class="phpdocumentor-signature__argument__return-type"><abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
<section class="phpdocumentor-description"><p>The value to set</p>
<section class="phpdocumentor-description"><p>The new item for the offset</p>
</section>
</dd>
</dl>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_offsetSet#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">throws</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><a href="classes/OCC-Basics-DataStructures-Exceptions-InvalidDataTypeException.html"><abbr title="\OCC\Basics\DataStructures\Exceptions\InvalidDataTypeException">InvalidDataTypeException</abbr></a></span>
<section class="phpdocumentor-description"><p>if <code class="prettyprint">$value</code> is not of allowed type</p>
</section>
</dd>
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">throws</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><abbr title="\InvalidArgumentException">InvalidArgumentException</abbr></span>
<section class="phpdocumentor-description"><p>if <code class="prettyprint">$offset</code> is not a valid array key</p>
</section>
</dd>
@ -1460,6 +1540,7 @@ from <code class="prettyprint">0</code>.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1476,6 +1557,8 @@ from <code class="prettyprint">0</code>.</p>
</article>
<article
class="phpdocumentor-element
@ -1509,6 +1592,7 @@ from <code class="prettyprint">0</code>.</p>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_pop#tags" class="headerlink"><i class="fas fa-link"></i></a>
@ -1527,6 +1611,8 @@ from <code class="prettyprint">0</code>.</p>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr></span>
@ -1571,6 +1657,9 @@ from <code class="prettyprint">0</code>.</p>
</article>
<article
class="phpdocumentor-element
@ -1602,6 +1691,7 @@ from <code class="prettyprint">0</code>.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1635,6 +1725,8 @@ from <code class="prettyprint">0</code>.</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1666,6 +1758,7 @@ from <code class="prettyprint">0</code>.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1699,6 +1792,8 @@ from <code class="prettyprint">0</code>.</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1734,6 +1829,9 @@ from <code class="prettyprint">0</code>.</p>
</article>
<article
class="phpdocumentor-element
@ -1766,6 +1864,9 @@ from <code class="prettyprint">0</code>.</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
@ -1806,6 +1907,7 @@ from <code class="prettyprint">0</code>.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1848,6 +1950,8 @@ from <code class="prettyprint">0</code>.</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1879,6 +1983,7 @@ from <code class="prettyprint">0</code>.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1912,6 +2017,8 @@ from <code class="prettyprint">0</code>.</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1945,6 +2052,7 @@ from <code class="prettyprint">0</code>.</p>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_shift#tags" class="headerlink"><i class="fas fa-link"></i></a>
@ -1963,6 +2071,8 @@ from <code class="prettyprint">0</code>.</p>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr></span>
@ -2006,6 +2116,9 @@ from <code class="prettyprint">0</code>.</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">array&lt;string|int, <abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr>&gt;</span>
@ -2048,6 +2161,7 @@ from <code class="prettyprint">0</code>.</p>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_top#tags" class="headerlink"><i class="fas fa-link"></i></a>
@ -2066,6 +2180,8 @@ from <code class="prettyprint">0</code>.</p>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr></span>
@ -2108,6 +2224,7 @@ from <code class="prettyprint">0</code>.</p>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toStrictList#tags" class="headerlink"><i class="fas fa-link"></i></a>
@ -2134,6 +2251,8 @@ from <code class="prettyprint">0</code>.</p>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/OCC-Basics-DataStructures-StrictList.html"><abbr title="\OCC\Basics\DataStructures\StrictList">StrictList</abbr></a>&lt;string|int, <abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr>&gt;</span>
@ -2172,6 +2291,7 @@ from <code class="prettyprint">0</code>.</p>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -2188,6 +2308,8 @@ from <code class="prettyprint">0</code>.</p>
</article>
<article
class="phpdocumentor-element
@ -2219,6 +2341,7 @@ from <code class="prettyprint">0</code>.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -2252,6 +2375,8 @@ from <code class="prettyprint">0</code>.</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -2286,6 +2411,9 @@ from <code class="prettyprint">0</code>.</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -2409,39 +2537,39 @@ from <code class="prettyprint">0</code>.</p>
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method___construct">__construct()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_add">add()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_bottom">bottom()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_clear">clear()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-CountableTrait.html#method_count">count()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_current">current()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_get">get()</a></li>
<li><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_getAllowedTypes">getAllowedTypes()</a></li>
<li><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_hasAllowedType">hasAllowedType()</a></li>
<li><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_isAllowedType">isAllowedType()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_isEmpty">isEmpty()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_isList">isList()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_key">key()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_next">next()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetExists">offsetExists()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetGet">offsetGet()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetSet">offsetSet()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetUnset">offsetUnset()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_pop">pop()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_prev">prev()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_push">push()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_remove">remove()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_rewind">rewind()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_serialize">serialize()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_set">set()</a></li>
<li><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_setAllowedTypes">setAllowedTypes()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_shift">shift()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toArray">toArray()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_top">top()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toStrictList">toStrictList()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_unserialize">unserialize()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_unshift">unshift()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_valid">valid()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method___construct">__construct()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_add">add()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_bottom">bottom()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_clear">clear()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-CountableTrait.html#method_count">count()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_current">current()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_get">get()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_getAllowedTypes">getAllowedTypes()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_hasAllowedType">hasAllowedType()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_isAllowedType">isAllowedType()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_isEmpty">isEmpty()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_isList">isList()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_key">key()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_next">next()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetExists">offsetExists()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetGet">offsetGet()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_offsetSet">offsetSet()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetUnset">offsetUnset()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_pop">pop()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_prev">prev()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_push">push()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_remove">remove()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_rewind">rewind()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_serialize">serialize()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_set">set()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_setAllowedTypes">setAllowedTypes()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_shift">shift()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toArray">toArray()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_top">top()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toStrictList">toStrictList()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_unserialize">unserialize()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictArray.html#method_unshift">unshift()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_valid">valid()</a></li>
</ul>
</li>
</ul>

View File

@ -192,7 +192,7 @@
<abbr title="\ArrayAccess">ArrayAccess</abbr>, <abbr title="\Countable">Countable</abbr>, <abbr title="\Serializable">Serializable</abbr> </span>
<span class="phpdocumentor-element__extends">
Uses
uses
<a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html"><abbr title="\OCC\Basics\Interfaces\ArrayAccessTrait">ArrayAccessTrait</abbr></a>, <a href="classes/OCC-Basics-Interfaces-CountableTrait.html"><abbr title="\OCC\Basics\Interfaces\CountableTrait">CountableTrait</abbr></a>, <a href="classes/OCC-Basics-Traits-TypeChecker.html"><abbr title="\OCC\Basics\Traits\TypeChecker">TypeChecker</abbr></a> </span>
</h2>
@ -211,6 +211,7 @@
<p class="phpdocumentor-summary">A type-sensitive, unsorted collection.</p>
<section class="phpdocumentor-description"><p>Holds items as key/value pairs where keys have to be valid array keys while
values can be of any type. To restrict allowed data types for items, provide
the constructor with an array of atomic types or fully qualified class
@ -247,6 +248,8 @@ names.</p>
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -276,147 +279,147 @@ names.</p>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method___construct">__construct()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method___construct">__construct()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Create a type-sensitive collection of items.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_add">add()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_add">add()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Add/insert a item at the specified index.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_clear">clear()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_clear">clear()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Clear the collection of any items.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-CountableTrait.html#method_count">count()</a>
<a class="" href="classes/OCC-Basics-Interfaces-CountableTrait.html#method_count">count()</a>
<span>
&nbsp;: int<0, max> </span>
</dt>
<dd>Count the data items.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_get">get()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_get">get()</a>
<span>
&nbsp;: <abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr> </span>
</dt>
<dd>Get the item at the specified index.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-TypeChecker.html#method_getAllowedTypes">getAllowedTypes()</a>
<a class="" href="classes/OCC-Basics-Traits-TypeChecker.html#method_getAllowedTypes">getAllowedTypes()</a>
<span>
&nbsp;: array&lt;string|int, string&gt; </span>
</dt>
<dd>Get allowed data types.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-TypeChecker.html#method_hasAllowedType">hasAllowedType()</a>
<a class="" href="classes/OCC-Basics-Traits-TypeChecker.html#method_hasAllowedType">hasAllowedType()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Check if a value&#039;s data type is allowed.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-TypeChecker.html#method_isAllowedType">isAllowedType()</a>
<a class="" href="classes/OCC-Basics-Traits-TypeChecker.html#method_isAllowedType">isAllowedType()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Check if a data type is allowed.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_isEmpty">isEmpty()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_isEmpty">isEmpty()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Check if collection is empty.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_isList">isList()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_isList">isList()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Check if this collection can be considered a list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetExists">offsetExists()</a>
<a class="" href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetExists">offsetExists()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Check if the specified offset exists.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetGet">offsetGet()</a>
<a class="" href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetGet">offsetGet()</a>
<span>
&nbsp;: <abbr title="\OCC\Basics\Interfaces\TValue">TValue</abbr>|null </span>
</dt>
<dd>Retrieve data at the specified offset.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_offsetSet">offsetSet()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_offsetSet">offsetSet()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Set the item at the specified offset.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetUnset">offsetUnset()</a>
<a class="" href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetUnset">offsetUnset()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Unset the specified offset.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_remove">remove()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_remove">remove()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Remove an item from the collection.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_serialize">serialize()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_serialize">serialize()</a>
<span>
&nbsp;: string </span>
</dt>
<dd>Get string representation of $this.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_set">set()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_set">set()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Set an item at the specified index.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-TypeChecker.html#method_setAllowedTypes">setAllowedTypes()</a>
<a class="" href="classes/OCC-Basics-Traits-TypeChecker.html#method_setAllowedTypes">setAllowedTypes()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Set allowed data types.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toArray">toArray()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toArray">toArray()</a>
<span>
&nbsp;: array&lt;string|int, <abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr>&gt; </span>
</dt>
<dd>Return array representation of collection.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toStrictList">toStrictList()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toStrictList">toStrictList()</a>
<span>
&nbsp;: <a href="classes/OCC-Basics-DataStructures-StrictList.html"><abbr title="\OCC\Basics\DataStructures\StrictList">StrictList</abbr></a>&lt;string|int, <abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr>&gt; </span>
</dt>
<dd>Turn collection into a type-sensitive list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_unserialize">unserialize()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_unserialize">unserialize()</a>
<span>
&nbsp;: void </span>
</dt>
@ -430,7 +433,6 @@ names.</p>
<section class="phpdocumentor-methods">
<h3 class="phpdocumentor-elements__header" id="methods">
Methods
@ -465,6 +467,7 @@ names.</p>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -515,6 +518,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -546,6 +551,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -588,6 +594,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -623,6 +631,9 @@ Possible values are:</p>
</article>
<article
class="phpdocumentor-element
@ -657,6 +668,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">int<0, max></span>
@ -697,6 +711,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -729,6 +744,8 @@ Possible values are:</p>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr></span>
@ -772,6 +789,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">array&lt;string|int, string&gt;</span>
@ -812,6 +832,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -827,6 +848,8 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -867,6 +890,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -882,6 +906,8 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -925,6 +951,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -964,6 +993,7 @@ Possible values are:</p>
<div class="phpdocumentor-label phpdocumentor-label--success"><span>API</span><span>Yes</span></div>
</div>
<section class="phpdocumentor-description"><p>It is considered a list if all keys are consecutive integers starting
from <code class="prettyprint">0</code>.</p>
</section>
@ -986,6 +1016,8 @@ from <code class="prettyprint">0</code>.</p>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -1026,6 +1058,7 @@ from <code class="prettyprint">0</code>.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1041,6 +1074,8 @@ from <code class="prettyprint">0</code>.</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -1081,6 +1116,7 @@ from <code class="prettyprint">0</code>.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1096,6 +1132,8 @@ from <code class="prettyprint">0</code>.</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\OCC\Basics\Interfaces\TValue">TValue</abbr>|null</span>
@ -1136,6 +1174,7 @@ from <code class="prettyprint">0</code>.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1188,6 +1227,8 @@ from <code class="prettyprint">0</code>.</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1219,6 +1260,7 @@ from <code class="prettyprint">0</code>.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1235,6 +1277,8 @@ from <code class="prettyprint">0</code>.</p>
</article>
<article
class="phpdocumentor-element
@ -1266,6 +1310,7 @@ from <code class="prettyprint">0</code>.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1299,6 +1344,8 @@ from <code class="prettyprint">0</code>.</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1331,6 +1378,9 @@ from <code class="prettyprint">0</code>.</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string</span>
@ -1371,6 +1421,7 @@ from <code class="prettyprint">0</code>.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1413,6 +1464,8 @@ from <code class="prettyprint">0</code>.</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1444,6 +1497,7 @@ from <code class="prettyprint">0</code>.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1477,6 +1531,8 @@ from <code class="prettyprint">0</code>.</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1511,6 +1567,9 @@ from <code class="prettyprint">0</code>.</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">array&lt;string|int, <abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr>&gt;</span>
@ -1553,6 +1612,7 @@ from <code class="prettyprint">0</code>.</p>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toStrictList#tags" class="headerlink"><i class="fas fa-link"></i></a>
@ -1579,6 +1639,8 @@ from <code class="prettyprint">0</code>.</p>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/OCC-Basics-DataStructures-StrictList.html"><abbr title="\OCC\Basics\DataStructures\StrictList">StrictList</abbr></a>&lt;string|int, <abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr>&gt;</span>
@ -1617,6 +1679,7 @@ from <code class="prettyprint">0</code>.</p>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1633,6 +1696,8 @@ from <code class="prettyprint">0</code>.</p>
</article>
</section>
@ -1747,27 +1812,27 @@ from <code class="prettyprint">0</code>.</p>
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method___construct">__construct()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_add">add()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_clear">clear()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-CountableTrait.html#method_count">count()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_get">get()</a></li>
<li><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_getAllowedTypes">getAllowedTypes()</a></li>
<li><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_hasAllowedType">hasAllowedType()</a></li>
<li><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_isAllowedType">isAllowedType()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_isEmpty">isEmpty()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_isList">isList()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetExists">offsetExists()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetGet">offsetGet()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_offsetSet">offsetSet()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetUnset">offsetUnset()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_remove">remove()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_serialize">serialize()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_set">set()</a></li>
<li><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_setAllowedTypes">setAllowedTypes()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toArray">toArray()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toStrictList">toStrictList()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_unserialize">unserialize()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method___construct">__construct()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_add">add()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_clear">clear()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-CountableTrait.html#method_count">count()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_get">get()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_getAllowedTypes">getAllowedTypes()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_hasAllowedType">hasAllowedType()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_isAllowedType">isAllowedType()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_isEmpty">isEmpty()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_isList">isList()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetExists">offsetExists()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetGet">offsetGet()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_offsetSet">offsetSet()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetUnset">offsetUnset()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_remove">remove()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_serialize">serialize()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_set">set()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_setAllowedTypes">setAllowedTypes()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toArray">toArray()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_toStrictList">toStrictList()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictCollection.html#method_unserialize">unserialize()</a></li>
</ul>
</li>
</ul>

View File

@ -192,7 +192,7 @@
<span class="phpdocumentor-element__extends">
Uses
uses
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html"><abbr title="\OCC\Basics\DataStructures\Traits\StrictSplDoublyLinkedListTrait">StrictSplDoublyLinkedListTrait</abbr></a> </span>
</h2>
@ -211,6 +211,7 @@
<p class="phpdocumentor-summary">A type-sensitive, taversable list.</p>
<section class="phpdocumentor-description"><p>Extends <a href="https://www.php.net/spldoublylinkedlist">\SplDoublyLinkedList</a> with
an option to restrict the allowed data types for list items by providing the
constructor with an array of atomic types or fully qualified class names.</p>
@ -245,6 +246,8 @@ constructor with an array of atomic types or fully qualified class names.</p>
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-DataStructures-StrictList.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -267,98 +270,98 @@ constructor with an array of atomic types or fully qualified class names.</p>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method___construct">__construct()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method___construct">__construct()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Create a type-sensitive, traversable list of items.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_add">add()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_add">add()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Add/insert a new item at the specified offset.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_append">append()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_append">append()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Append items at the end of the list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_clear">clear()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_clear">clear()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Clear the list of any items.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_get">get()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_get">get()</a>
<span>
&nbsp;: <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr> </span>
</dt>
<dd>Get the item at the specified index.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_isList">isList()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_isList">isList()</a>
<span>
&nbsp;: true </span>
</dt>
<dd>Check if this can be considered a list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_offsetSet">offsetSet()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_offsetSet">offsetSet()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Set the item at the specified offset.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_prepend">prepend()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_prepend">prepend()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Prepend items at the start of the list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_push">push()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_push">push()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Push an item at the end of the list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_remove">remove()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_remove">remove()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Remove an item from the list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_set">set()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_set">set()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Set an item at the specified index.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toArray">toArray()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toArray">toArray()</a>
<span>
&nbsp;: array&lt;int, <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr>&gt; </span>
</dt>
<dd>Return array representation of list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toStrictCollection">toStrictCollection()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toStrictCollection">toStrictCollection()</a>
<span>
&nbsp;: <a href="classes/OCC-Basics-DataStructures-StrictCollection.html"><abbr title="\OCC\Basics\DataStructures\StrictCollection">StrictCollection</abbr></a>&lt;string|int, <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr>&gt; </span>
</dt>
<dd>Turn list into a type-sensitive collection.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_unshift">unshift()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_unshift">unshift()</a>
<span>
&nbsp;: void </span>
</dt>
@ -372,7 +375,6 @@ constructor with an array of atomic types or fully qualified class names.</p>
<section class="phpdocumentor-methods">
<h3 class="phpdocumentor-elements__header" id="methods">
Methods
@ -407,6 +409,7 @@ constructor with an array of atomic types or fully qualified class names.</p>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -457,6 +460,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -488,6 +493,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -540,6 +546,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -571,6 +579,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -604,6 +613,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -639,6 +650,9 @@ Possible values are:</p>
</article>
<article
class="phpdocumentor-element
@ -670,6 +684,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -702,6 +717,8 @@ Possible values are:</p>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr></span>
@ -745,6 +762,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">true</span>
@ -785,6 +805,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -837,6 +858,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -868,6 +891,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -901,6 +925,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -932,6 +958,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -965,6 +992,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -996,6 +1025,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1029,6 +1059,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1060,6 +1092,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1102,6 +1135,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1136,6 +1171,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">array&lt;int, <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr>&gt;</span>
@ -1179,6 +1217,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/OCC-Basics-DataStructures-StrictCollection.html"><abbr title="\OCC\Basics\DataStructures\StrictCollection">StrictCollection</abbr></a>&lt;string|int, <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr>&gt;</span>
@ -1219,6 +1260,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1252,6 +1294,8 @@ Possible values are:</p>
</dl>
</article>
</section>
@ -1366,20 +1410,20 @@ Possible values are:</p>
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method___construct">__construct()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_add">add()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_append">append()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_clear">clear()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_get">get()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_isList">isList()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_offsetSet">offsetSet()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_prepend">prepend()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_push">push()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_remove">remove()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_set">set()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toArray">toArray()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toStrictCollection">toStrictCollection()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_unshift">unshift()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method___construct">__construct()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_add">add()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_append">append()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_clear">clear()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_get">get()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_isList">isList()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_offsetSet">offsetSet()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_prepend">prepend()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_push">push()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_remove">remove()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_set">set()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toArray">toArray()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toStrictCollection">toStrictCollection()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_unshift">unshift()</a></li>
</ul>
</li>
</ul>

View File

@ -192,7 +192,7 @@
<span class="phpdocumentor-element__extends">
Uses
uses
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html"><abbr title="\OCC\Basics\DataStructures\Traits\StrictSplDoublyLinkedListTrait">StrictSplDoublyLinkedListTrait</abbr></a> </span>
</h2>
@ -211,6 +211,7 @@
<p class="phpdocumentor-summary">A type-sensitive, taversable queue (FIFO).</p>
<section class="phpdocumentor-description"><p>Extends <a href="https://www.php.net/splqueue">\SplQueue</a> with an option to restrict
the allowed data types for list items by providing the constructor with an
array of atomic types or fully qualified class names.</p>
@ -245,6 +246,8 @@ array of atomic types or fully qualified class names.</p>
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-DataStructures-StrictQueue.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -267,112 +270,112 @@ array of atomic types or fully qualified class names.</p>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method___construct">__construct()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method___construct">__construct()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Create a type-sensitive, traversable list of items.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_add">add()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_add">add()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Add/insert a new item at the specified offset.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_append">append()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_append">append()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Append items at the end of the list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_clear">clear()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_clear">clear()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Clear the list of any items.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictQueue.html#method_dequeue">dequeue()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictQueue.html#method_dequeue">dequeue()</a>
<span>
&nbsp;: <abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr> </span>
</dt>
<dd>Dequeue an item from the queue.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictQueue.html#method_enqueue">enqueue()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictQueue.html#method_enqueue">enqueue()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Add an item to the queue.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_get">get()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_get">get()</a>
<span>
&nbsp;: <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr> </span>
</dt>
<dd>Get the item at the specified index.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_isList">isList()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_isList">isList()</a>
<span>
&nbsp;: true </span>
</dt>
<dd>Check if this can be considered a list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_offsetSet">offsetSet()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_offsetSet">offsetSet()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Set the item at the specified offset.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_prepend">prepend()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_prepend">prepend()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Prepend items at the start of the list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_push">push()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_push">push()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Push an item at the end of the list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_remove">remove()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_remove">remove()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Remove an item from the list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_set">set()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_set">set()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Set an item at the specified index.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toArray">toArray()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toArray">toArray()</a>
<span>
&nbsp;: array&lt;int, <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr>&gt; </span>
</dt>
<dd>Return array representation of list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toStrictCollection">toStrictCollection()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toStrictCollection">toStrictCollection()</a>
<span>
&nbsp;: <a href="classes/OCC-Basics-DataStructures-StrictCollection.html"><abbr title="\OCC\Basics\DataStructures\StrictCollection">StrictCollection</abbr></a>&lt;string|int, <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr>&gt; </span>
</dt>
<dd>Turn list into a type-sensitive collection.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_unshift">unshift()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_unshift">unshift()</a>
<span>
&nbsp;: void </span>
</dt>
@ -386,7 +389,6 @@ array of atomic types or fully qualified class names.</p>
<section class="phpdocumentor-methods">
<h3 class="phpdocumentor-elements__header" id="methods">
Methods
@ -421,6 +423,7 @@ array of atomic types or fully qualified class names.</p>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -471,6 +474,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -502,6 +507,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -554,6 +560,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -585,6 +593,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -618,6 +627,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -653,6 +664,9 @@ Possible values are:</p>
</article>
<article
class="phpdocumentor-element
@ -686,6 +700,7 @@ Possible values are:</p>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/OCC-Basics-DataStructures-StrictQueue.html#method_dequeue#tags" class="headerlink"><i class="fas fa-link"></i></a>
@ -704,6 +719,8 @@ Possible values are:</p>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr></span>
@ -744,6 +761,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -777,6 +795,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -808,6 +828,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -840,6 +861,8 @@ Possible values are:</p>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr></span>
@ -883,6 +906,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">true</span>
@ -923,6 +949,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -975,6 +1002,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1006,6 +1035,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1039,6 +1069,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1070,6 +1102,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1103,6 +1136,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1134,6 +1169,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1167,6 +1203,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1198,6 +1236,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1240,6 +1279,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1274,6 +1315,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">array&lt;int, <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr>&gt;</span>
@ -1317,6 +1361,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/OCC-Basics-DataStructures-StrictCollection.html"><abbr title="\OCC\Basics\DataStructures\StrictCollection">StrictCollection</abbr></a>&lt;string|int, <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr>&gt;</span>
@ -1357,6 +1404,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1390,6 +1438,8 @@ Possible values are:</p>
</dl>
</article>
</section>
@ -1504,22 +1554,22 @@ Possible values are:</p>
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method___construct">__construct()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_add">add()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_append">append()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_clear">clear()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictQueue.html#method_dequeue">dequeue()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictQueue.html#method_enqueue">enqueue()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_get">get()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_isList">isList()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_offsetSet">offsetSet()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_prepend">prepend()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_push">push()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_remove">remove()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_set">set()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toArray">toArray()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toStrictCollection">toStrictCollection()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_unshift">unshift()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method___construct">__construct()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_add">add()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_append">append()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_clear">clear()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictQueue.html#method_dequeue">dequeue()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictQueue.html#method_enqueue">enqueue()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_get">get()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_isList">isList()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_offsetSet">offsetSet()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_prepend">prepend()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_push">push()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_remove">remove()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_set">set()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toArray">toArray()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toStrictCollection">toStrictCollection()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_unshift">unshift()</a></li>
</ul>
</li>
</ul>

View File

@ -192,7 +192,7 @@
<span class="phpdocumentor-element__extends">
Uses
uses
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html"><abbr title="\OCC\Basics\DataStructures\Traits\StrictSplDoublyLinkedListTrait">StrictSplDoublyLinkedListTrait</abbr></a> </span>
</h2>
@ -211,6 +211,7 @@
<p class="phpdocumentor-summary">A type-sensitive, taversable stack (LIFO).</p>
<section class="phpdocumentor-description"><p>Extends <a href="https://www.php.net/splstack">\SplStack</a> with an option to restrict
the allowed data types for list items by providing the constructor with an
array of atomic types or fully qualified class names.</p>
@ -245,6 +246,8 @@ array of atomic types or fully qualified class names.</p>
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-DataStructures-StrictStack.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -267,112 +270,112 @@ array of atomic types or fully qualified class names.</p>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method___construct">__construct()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method___construct">__construct()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Create a type-sensitive, traversable list of items.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_add">add()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_add">add()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Add/insert a new item at the specified offset.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_append">append()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_append">append()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Append items at the end of the list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_clear">clear()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_clear">clear()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Clear the list of any items.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_get">get()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_get">get()</a>
<span>
&nbsp;: <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr> </span>
</dt>
<dd>Get the item at the specified index.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_isList">isList()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_isList">isList()</a>
<span>
&nbsp;: true </span>
</dt>
<dd>Check if this can be considered a list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_offsetSet">offsetSet()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_offsetSet">offsetSet()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Set the item at the specified offset.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_prepend">prepend()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_prepend">prepend()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Prepend items at the start of the list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_push">push()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_push">push()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Push an item at the end of the list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_remove">remove()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_remove">remove()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Remove an item from the list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_set">set()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_set">set()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Set an item at the specified index.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictStack.html#method_stack">stack()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictStack.html#method_stack">stack()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Add an item to the stack.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toArray">toArray()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toArray">toArray()</a>
<span>
&nbsp;: array&lt;int, <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr>&gt; </span>
</dt>
<dd>Return array representation of list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toStrictCollection">toStrictCollection()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toStrictCollection">toStrictCollection()</a>
<span>
&nbsp;: <a href="classes/OCC-Basics-DataStructures-StrictCollection.html"><abbr title="\OCC\Basics\DataStructures\StrictCollection">StrictCollection</abbr></a>&lt;string|int, <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr>&gt; </span>
</dt>
<dd>Turn list into a type-sensitive collection.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_unshift">unshift()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_unshift">unshift()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Prepend the list with an item.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-StrictStack.html#method_unstack">unstack()</a>
<a class="" href="classes/OCC-Basics-DataStructures-StrictStack.html#method_unstack">unstack()</a>
<span>
&nbsp;: <abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr> </span>
</dt>
@ -386,7 +389,6 @@ array of atomic types or fully qualified class names.</p>
<section class="phpdocumentor-methods">
<h3 class="phpdocumentor-elements__header" id="methods">
Methods
@ -421,6 +423,7 @@ array of atomic types or fully qualified class names.</p>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -471,6 +474,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -502,6 +507,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -554,6 +560,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -585,6 +593,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -618,6 +627,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -653,6 +664,9 @@ Possible values are:</p>
</article>
<article
class="phpdocumentor-element
@ -684,6 +698,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -716,6 +731,8 @@ Possible values are:</p>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr></span>
@ -759,6 +776,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">true</span>
@ -799,6 +819,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -851,6 +872,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -882,6 +905,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -915,6 +939,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -946,6 +972,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -979,6 +1006,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1010,6 +1039,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1043,6 +1073,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1074,6 +1106,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1116,6 +1149,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1147,6 +1182,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1180,6 +1216,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1214,6 +1252,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">array&lt;int, <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr>&gt;</span>
@ -1257,6 +1298,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/OCC-Basics-DataStructures-StrictCollection.html"><abbr title="\OCC\Basics\DataStructures\StrictCollection">StrictCollection</abbr></a>&lt;string|int, <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr>&gt;</span>
@ -1297,6 +1341,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1330,6 +1375,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1363,6 +1410,7 @@ Possible values are:</p>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/OCC-Basics-DataStructures-StrictStack.html#method_unstack#tags" class="headerlink"><i class="fas fa-link"></i></a>
@ -1381,6 +1429,8 @@ Possible values are:</p>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\OCC\Basics\DataStructures\AllowedType">AllowedType</abbr></span>
@ -1504,22 +1554,22 @@ Possible values are:</p>
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method___construct">__construct()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_add">add()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_append">append()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_clear">clear()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_get">get()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_isList">isList()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_offsetSet">offsetSet()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_prepend">prepend()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_push">push()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_remove">remove()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_set">set()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictStack.html#method_stack">stack()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toArray">toArray()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toStrictCollection">toStrictCollection()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_unshift">unshift()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-StrictStack.html#method_unstack">unstack()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method___construct">__construct()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_add">add()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_append">append()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_clear">clear()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_get">get()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_isList">isList()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_offsetSet">offsetSet()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_prepend">prepend()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_push">push()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_remove">remove()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_set">set()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictStack.html#method_stack">stack()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toArray">toArray()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toStrictCollection">toStrictCollection()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_unshift">unshift()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-StrictStack.html#method_unstack">unstack()</a></li>
</ul>
</li>
</ul>

View File

@ -190,6 +190,7 @@
<p class="phpdocumentor-summary">The common interface of all type-sensitive, SPL-based datastructures.</p>
<section class="phpdocumentor-description"><p>This extends all methods of the common interface of the Standard PHP Library
<a href="https://www.php.net/spl.datastructures">Doubly Linked List Datastructures</a>
by type-checking to only allow specified data types on the list.</p>
@ -233,6 +234,8 @@ by type-checking to only allow specified data types on the list.</p>
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -255,98 +258,98 @@ by type-checking to only allow specified data types on the list.</p>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method___construct">__construct()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method___construct">__construct()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Create a type-sensitive, traversable list of items.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_add">add()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_add">add()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Add/insert a new item at the specified offset.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_append">append()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_append">append()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Append items at the end of the list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_clear">clear()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_clear">clear()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Clear the list of any items.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_get">get()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_get">get()</a>
<span>
&nbsp;: <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr> </span>
</dt>
<dd>Get the item at the specified index.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_isList">isList()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_isList">isList()</a>
<span>
&nbsp;: true </span>
</dt>
<dd>Check if this can be considered a list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_offsetSet">offsetSet()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_offsetSet">offsetSet()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Set the item at the specified offset.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_prepend">prepend()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_prepend">prepend()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Prepend items at the start of the list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_push">push()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_push">push()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Push an item at the end of the list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_remove">remove()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_remove">remove()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Remove an item from the list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_set">set()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_set">set()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Set an item at the specified index.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toArray">toArray()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toArray">toArray()</a>
<span>
&nbsp;: array&lt;int, <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr>&gt; </span>
</dt>
<dd>Return array representation of list.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toStrictCollection">toStrictCollection()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toStrictCollection">toStrictCollection()</a>
<span>
&nbsp;: <a href="classes/OCC-Basics-DataStructures-StrictCollection.html"><abbr title="\OCC\Basics\DataStructures\StrictCollection">StrictCollection</abbr></a>&lt;string|int, <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr>&gt; </span>
</dt>
<dd>Turn list into a type-sensitive collection.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_unshift">unshift()</a>
<a class="" href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_unshift">unshift()</a>
<span>
&nbsp;: void </span>
</dt>
@ -395,6 +398,7 @@ by type-checking to only allow specified data types on the list.</p>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -445,6 +449,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -476,6 +482,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -528,6 +535,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -559,6 +568,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -592,6 +602,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -627,6 +639,9 @@ Possible values are:</p>
</article>
<article
class="phpdocumentor-element
@ -658,6 +673,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -690,6 +706,8 @@ Possible values are:</p>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr></span>
@ -733,6 +751,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">true</span>
@ -773,6 +794,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -825,6 +847,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -856,6 +880,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -889,6 +914,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -920,6 +947,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -953,6 +981,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -984,6 +1014,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1017,6 +1048,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1048,6 +1081,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1090,6 +1124,8 @@ Possible values are:</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -1124,6 +1160,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">array&lt;int, <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr>&gt;</span>
@ -1167,6 +1206,9 @@ Possible values are:</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><a href="classes/OCC-Basics-DataStructures-StrictCollection.html"><abbr title="\OCC\Basics\DataStructures\StrictCollection">StrictCollection</abbr></a>&lt;string|int, <abbr title="\OCC\Basics\DataStructures\Traits\AllowedType">AllowedType</abbr>&gt;</span>
@ -1207,6 +1249,7 @@ Possible values are:</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -1240,6 +1283,8 @@ Possible values are:</p>
</dl>
</article>
</section>
@ -1352,20 +1397,20 @@ Possible values are:</p>
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method___construct">__construct()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_add">add()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_append">append()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_clear">clear()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_get">get()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_isList">isList()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_offsetSet">offsetSet()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_prepend">prepend()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_push">push()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_remove">remove()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_set">set()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toArray">toArray()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toStrictCollection">toStrictCollection()</a></li>
<li><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_unshift">unshift()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method___construct">__construct()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_add">add()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_append">append()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_clear">clear()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_get">get()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_isList">isList()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_offsetSet">offsetSet()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_prepend">prepend()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_push">push()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_remove">remove()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_set">set()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toArray">toArray()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_toStrictCollection">toStrictCollection()</a></li>
<li class=""><a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html#method_unshift">unshift()</a></li>
</ul>
</li>
</ul>

View File

@ -205,6 +205,7 @@
<p class="phpdocumentor-summary">Throws internal errors as exceptions.</p>
<section class="phpdocumentor-description"><p>If registered as error handler, this converts an internal PHP error into an
<code class="prettyprint">ErrorException</code>. It respects the <code class="prettyprint">error_reporting</code> directive.</p>
<blockquote>
@ -232,6 +233,8 @@
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-ErrorHandlers-ThrowErrorException.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -254,7 +257,7 @@
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-ErrorHandlers-ThrowErrorException.html#method___invoke">__invoke()</a>
<a class="" href="classes/OCC-Basics-ErrorHandlers-ThrowErrorException.html#method___invoke">__invoke()</a>
<span>
&nbsp;: bool </span>
</dt>
@ -268,7 +271,6 @@
<section class="phpdocumentor-methods">
<h3 class="phpdocumentor-elements__header" id="methods">
Methods
@ -303,6 +305,7 @@
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -362,6 +365,8 @@
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -485,7 +490,7 @@
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-ErrorHandlers-ThrowErrorException.html#method___invoke">__invoke()</a></li>
<li class=""><a href="classes/OCC-Basics-ErrorHandlers-ThrowErrorException.html#method___invoke">__invoke()</a></li>
</ul>
</li>
</ul>

View File

@ -205,6 +205,7 @@
<p class="phpdocumentor-summary">Triggers errors for uncaught exceptions.</p>
<section class="phpdocumentor-description"><p>If registered as exception handler, this catches an uncaught exception and
converts it into an internal PHP error of severity <code class="prettyprint">E_USER_ERROR</code>.</p>
<blockquote>
@ -232,6 +233,8 @@ converts it into an internal PHP error of severity <code class="prettyprint">E_U
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-ErrorHandlers-TriggerExceptionError.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -254,7 +257,7 @@ converts it into an internal PHP error of severity <code class="prettyprint">E_U
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-ErrorHandlers-TriggerExceptionError.html#method___invoke">__invoke()</a>
<a class="" href="classes/OCC-Basics-ErrorHandlers-TriggerExceptionError.html#method___invoke">__invoke()</a>
<span>
&nbsp;: void </span>
</dt>
@ -268,7 +271,6 @@ converts it into an internal PHP error of severity <code class="prettyprint">E_U
<section class="phpdocumentor-methods">
<h3 class="phpdocumentor-elements__header" id="methods">
Methods
@ -303,6 +305,7 @@ converts it into an internal PHP error of severity <code class="prettyprint">E_U
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -319,6 +322,8 @@ converts it into an internal PHP error of severity <code class="prettyprint">E_U
</article>
</section>
@ -433,7 +438,7 @@ converts it into an internal PHP error of severity <code class="prettyprint">E_U
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-ErrorHandlers-TriggerExceptionError.html#method___invoke">__invoke()</a></li>
<li class=""><a href="classes/OCC-Basics-ErrorHandlers-TriggerExceptionError.html#method___invoke">__invoke()</a></li>
</ul>
</li>
</ul>

View File

@ -189,6 +189,7 @@
<p class="phpdocumentor-summary">A generic implementation of the ArrayAccess interface.</p>
<section class="phpdocumentor-description"><p>Internally it accesses the protected <code class="prettyprint">$_data</code> array.</p>
</section>
@ -221,6 +222,8 @@
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -243,28 +246,28 @@
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetExists">offsetExists()</a>
<a class="" href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetExists">offsetExists()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Check if the specified offset exists.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetGet">offsetGet()</a>
<a class="" href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetGet">offsetGet()</a>
<span>
&nbsp;: <abbr title="\OCC\Basics\Interfaces\TValue">TValue</abbr>|null </span>
</dt>
<dd>Retrieve data at the specified offset.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetSet">offsetSet()</a>
<a class="" href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetSet">offsetSet()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Assign a value to the specified offset.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetUnset">offsetUnset()</a>
<a class="" href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetUnset">offsetUnset()</a>
<span>
&nbsp;: void </span>
</dt>
@ -315,6 +318,7 @@
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -330,6 +334,8 @@
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -370,6 +376,7 @@
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -385,6 +392,8 @@
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\OCC\Basics\Interfaces\TValue">TValue</abbr>|null</span>
@ -425,6 +434,7 @@
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -450,6 +460,8 @@
</article>
<article
class="phpdocumentor-element
@ -481,6 +493,7 @@
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -497,6 +510,8 @@
</article>
</section>
@ -609,10 +624,10 @@
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetExists">offsetExists()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetGet">offsetGet()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetSet">offsetSet()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetUnset">offsetUnset()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetExists">offsetExists()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetGet">offsetGet()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetSet">offsetSet()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetUnset">offsetUnset()</a></li>
</ul>
</li>
</ul>

View File

@ -189,6 +189,7 @@
<p class="phpdocumentor-summary">A generic implementation of the Countable interface.</p>
<section class="phpdocumentor-description"><p>Internally it counts the values of the protected <code class="prettyprint">$_data</code> array.</p>
</section>
@ -221,6 +222,8 @@
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-Interfaces-CountableTrait.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -243,7 +246,7 @@
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-CountableTrait.html#method_count">count()</a>
<a class="" href="classes/OCC-Basics-Interfaces-CountableTrait.html#method_count">count()</a>
<span>
&nbsp;: int<0, max> </span>
</dt>
@ -297,6 +300,9 @@
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">int<0, max></span>
@ -418,7 +424,7 @@
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-Interfaces-CountableTrait.html#method_count">count()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-CountableTrait.html#method_count">count()</a></li>
</ul>
</li>
</ul>

View File

@ -189,6 +189,7 @@
<p class="phpdocumentor-summary">A generic implementation of the IteratorAggregate interface.</p>
<section class="phpdocumentor-description"><p>Internally it iterates over the protected <code class="prettyprint">$_data</code> array.</p>
</section>
@ -221,6 +222,8 @@
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-Interfaces-IteratorAggregateTrait.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -243,7 +246,7 @@
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-IteratorAggregateTrait.html#method_getIterator">getIterator()</a>
<a class="" href="classes/OCC-Basics-Interfaces-IteratorAggregateTrait.html#method_getIterator">getIterator()</a>
<span>
&nbsp;: <abbr title="\ArrayIterator">ArrayIterator</abbr>&lt;string|int, <abbr title="\OCC\Basics\Interfaces\TValue">TValue</abbr>&gt; </span>
</dt>
@ -297,6 +300,9 @@
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\ArrayIterator">ArrayIterator</abbr>&lt;string|int, <abbr title="\OCC\Basics\Interfaces\TValue">TValue</abbr>&gt;</span>
@ -418,7 +424,7 @@
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-Interfaces-IteratorAggregateTrait.html#method_getIterator">getIterator()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-IteratorAggregateTrait.html#method_getIterator">getIterator()</a></li>
</ul>
</li>
</ul>

View File

@ -189,6 +189,7 @@
<p class="phpdocumentor-summary">A generic implementation of the Iterator interface.</p>
<section class="phpdocumentor-description"><p>Internally it iterates over the protected <code class="prettyprint">$_data</code> array.</p>
</section>
@ -221,6 +222,8 @@
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -243,42 +246,42 @@
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_current">current()</a>
<a class="" href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_current">current()</a>
<span>
&nbsp;: <abbr title="\OCC\Basics\Interfaces\TValue">TValue</abbr>|null </span>
</dt>
<dd>Return the current item.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_key">key()</a>
<a class="" href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_key">key()</a>
<span>
&nbsp;: string|int|null </span>
</dt>
<dd>Return the current key.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_next">next()</a>
<a class="" href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_next">next()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Move forward to next item.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_prev">prev()</a>
<a class="" href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_prev">prev()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Move back to previous item.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_rewind">rewind()</a>
<a class="" href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_rewind">rewind()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Rewind the iterator to the first item.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_valid">valid()</a>
<a class="" href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_valid">valid()</a>
<span>
&nbsp;: bool </span>
</dt>
@ -332,6 +335,9 @@
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type"><abbr title="\OCC\Basics\Interfaces\TValue">TValue</abbr>|null</span>
@ -375,6 +381,9 @@
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">string|int|null</span>
@ -419,6 +428,9 @@
</article>
<article
class="phpdocumentor-element
@ -454,6 +466,9 @@
</article>
<article
class="phpdocumentor-element
@ -489,6 +504,9 @@
</article>
<article
class="phpdocumentor-element
@ -523,6 +541,9 @@
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -644,12 +665,12 @@
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_current">current()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_key">key()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_next">next()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_prev">prev()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_rewind">rewind()</a></li>
<li><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_valid">valid()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_current">current()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_key">key()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_next">next()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_prev">prev()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_rewind">rewind()</a></li>
<li class=""><a href="classes/OCC-Basics-Interfaces-IteratorTrait.html#method_valid">valid()</a></li>
</ul>
</li>
</ul>

View File

@ -189,6 +189,7 @@
<p class="phpdocumentor-summary">Reads data from inaccessible properties by using magic methods.</p>
<section class="phpdocumentor-description"><p>To make a <code class="prettyprint">protected</code> or <code class="prettyprint">private</code> property readable, provide a method named
<code class="prettyprint">_magicGet{Property}()</code> which handles the reading. Replace <code class="prettyprint">{Property}</code> in
the method's name with the name of the actual property (with an uppercase
@ -220,6 +221,8 @@ a context where it normally would not be accessible.</p>
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-Traits-Getter.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -242,14 +245,14 @@ a context where it normally would not be accessible.</p>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-Getter.html#method___get">__get()</a>
<a class="" href="classes/OCC-Basics-Traits-Getter.html#method___get">__get()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Read data from an inaccessible property.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-Getter.html#method___isset">__isset()</a>
<a class="" href="classes/OCC-Basics-Traits-Getter.html#method___isset">__isset()</a>
<span>
&nbsp;: bool </span>
</dt>
@ -298,6 +301,7 @@ a context where it normally would not be accessible.</p>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -330,6 +334,8 @@ a context where it normally would not be accessible.</p>
</dd>
</dl>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">mixed</span>
@ -368,6 +374,7 @@ a context where it normally would not be accessible.</p>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -383,6 +390,8 @@ a context where it normally would not be accessible.</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -504,8 +513,8 @@ a context where it normally would not be accessible.</p>
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-Traits-Getter.html#method___get">__get()</a></li>
<li><a href="classes/OCC-Basics-Traits-Getter.html#method___isset">__isset()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-Getter.html#method___get">__get()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-Getter.html#method___isset">__isset()</a></li>
</ul>
</li>
</ul>

View File

@ -189,6 +189,7 @@
<p class="phpdocumentor-summary">Overloads a class with readable magic properties.</p>
<section class="phpdocumentor-description"><p>Internally it reads the protected <code class="prettyprint">$_data</code> array whose keys are interpreted
as property names.</p>
<blockquote>
@ -216,6 +217,8 @@ as property names.</p>
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-Traits-OverloadingGetter.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -238,14 +241,14 @@ as property names.</p>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-OverloadingGetter.html#method___get">__get()</a>
<a class="" href="classes/OCC-Basics-Traits-OverloadingGetter.html#method___get">__get()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Read data from an overloaded property.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-OverloadingGetter.html#method___isset">__isset()</a>
<a class="" href="classes/OCC-Basics-Traits-OverloadingGetter.html#method___isset">__isset()</a>
<span>
&nbsp;: bool </span>
</dt>
@ -294,6 +297,7 @@ as property names.</p>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -309,6 +313,8 @@ as property names.</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">mixed</span>
@ -347,6 +353,7 @@ as property names.</p>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -362,6 +369,8 @@ as property names.</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -483,8 +492,8 @@ as property names.</p>
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-Traits-OverloadingGetter.html#method___get">__get()</a></li>
<li><a href="classes/OCC-Basics-Traits-OverloadingGetter.html#method___isset">__isset()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-OverloadingGetter.html#method___get">__get()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-OverloadingGetter.html#method___isset">__isset()</a></li>
</ul>
</li>
</ul>

View File

@ -189,6 +189,7 @@
<p class="phpdocumentor-summary">Overloads a class with writable magic properties.</p>
<section class="phpdocumentor-description"><p>Internally it writes the protected <code class="prettyprint">$_data</code> array whose keys are interpreted
as property names.</p>
<blockquote>
@ -216,6 +217,8 @@ as property names.</p>
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-Traits-OverloadingSetter.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -238,14 +241,14 @@ as property names.</p>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-OverloadingSetter.html#method___set">__set()</a>
<a class="" href="classes/OCC-Basics-Traits-OverloadingSetter.html#method___set">__set()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Write data to an overloaded property.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-OverloadingSetter.html#method___unset">__unset()</a>
<a class="" href="classes/OCC-Basics-Traits-OverloadingSetter.html#method___unset">__unset()</a>
<span>
&nbsp;: void </span>
</dt>
@ -294,6 +297,7 @@ as property names.</p>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -319,6 +323,8 @@ as property names.</p>
</article>
<article
class="phpdocumentor-element
@ -348,6 +354,7 @@ as property names.</p>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -364,6 +371,8 @@ as property names.</p>
</article>
</section>
@ -476,8 +485,8 @@ as property names.</p>
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-Traits-OverloadingSetter.html#method___set">__set()</a></li>
<li><a href="classes/OCC-Basics-Traits-OverloadingSetter.html#method___unset">__unset()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-OverloadingSetter.html#method___set">__set()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-OverloadingSetter.html#method___unset">__unset()</a></li>
</ul>
</li>
</ul>

View File

@ -189,6 +189,7 @@
<p class="phpdocumentor-summary">Writes data to inaccessible properties by using magic methods.</p>
<section class="phpdocumentor-description"><p>To make a <code class="prettyprint">protected</code> or <code class="prettyprint">private</code> property writable, provide a method named
<code class="prettyprint">_magicSet{Property}()</code> which handles the writing. Replace <code class="prettyprint">{Property}</code> in
the method's name with the name of the actual property (with an uppercase
@ -220,6 +221,8 @@ to in a context where it normally would not be accessible.</p>
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-Traits-Setter.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -242,14 +245,14 @@ to in a context where it normally would not be accessible.</p>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-Setter.html#method___set">__set()</a>
<a class="" href="classes/OCC-Basics-Traits-Setter.html#method___set">__set()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>Write data to an inaccessible property.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-Setter.html#method___unset">__unset()</a>
<a class="" href="classes/OCC-Basics-Traits-Setter.html#method___unset">__unset()</a>
<span>
&nbsp;: void </span>
</dt>
@ -298,6 +301,7 @@ to in a context where it normally would not be accessible.</p>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -340,6 +344,8 @@ to in a context where it normally would not be accessible.</p>
</dl>
</article>
<article
class="phpdocumentor-element
@ -369,6 +375,7 @@ to in a context where it normally would not be accessible.</p>
<div class="phpdocumentor-label-line">
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -385,6 +392,8 @@ to in a context where it normally would not be accessible.</p>
</article>
</section>
@ -497,8 +506,8 @@ to in a context where it normally would not be accessible.</p>
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-Traits-Setter.html#method___set">__set()</a></li>
<li><a href="classes/OCC-Basics-Traits-Setter.html#method___unset">__unset()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-Setter.html#method___set">__set()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-Setter.html#method___unset">__unset()</a></li>
</ul>
</li>
</ul>

View File

@ -189,6 +189,7 @@
<p class="phpdocumentor-summary">Allows just a single instance of the class using this trait.</p>
<section class="phpdocumentor-description"><p>Get the singleton by calling the static method <code class="prettyprint">getInstance()</code>.</p>
<p>If there is no object yet, the constructor is called with the same arguments
as <code class="prettyprint">getInstance()</code>. Any later call will just return the already instantiated
@ -217,6 +218,8 @@ as <code class="prettyprint">private</code> to prevent direct instantiation of t
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-Traits-Singleton.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -239,21 +242,21 @@ as <code class="prettyprint">private</code> to prevent direct instantiation of t
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-Singleton.html#method___clone">__clone()</a>
<a class="" href="classes/OCC-Basics-Traits-Singleton.html#method___clone">__clone()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>This is a singleton class, thus cloning is prohibited.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-Singleton.html#method_getInstance">getInstance()</a>
<a class="" href="classes/OCC-Basics-Traits-Singleton.html#method_getInstance">getInstance()</a>
<span>
&nbsp;: static </span>
</dt>
<dd>Get a singleton instance of this class.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a href="classes/OCC-Basics-Traits-Singleton.html#method___construct">__construct()</a>
<a class="" href="classes/OCC-Basics-Traits-Singleton.html#method___construct">__construct()</a>
<span>
&nbsp;: void </span>
</dt>
@ -304,6 +307,7 @@ as <code class="prettyprint">private</code> to prevent direct instantiation of t
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/OCC-Basics-Traits-Singleton.html#method___clone#tags" class="headerlink"><i class="fas fa-link"></i></a>
@ -323,6 +327,8 @@ as <code class="prettyprint">private</code> to prevent direct instantiation of t
</dl>
</article>
<article
class="phpdocumentor-element
@ -354,6 +360,7 @@ as <code class="prettyprint">private</code> to prevent direct instantiation of t
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -369,6 +376,8 @@ as <code class="prettyprint">private</code> to prevent direct instantiation of t
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">static</span>
@ -409,6 +418,7 @@ as <code class="prettyprint">private</code> to prevent direct instantiation of t
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="classes/OCC-Basics-Traits-Singleton.html#method___construct#tags" class="headerlink"><i class="fas fa-link"></i></a>
@ -428,6 +438,8 @@ as <code class="prettyprint">private</code> to prevent direct instantiation of t
</dl>
</article>
</section>
@ -540,9 +552,9 @@ as <code class="prettyprint">private</code> to prevent direct instantiation of t
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-Traits-Singleton.html#method___clone">__clone()</a></li>
<li><a href="classes/OCC-Basics-Traits-Singleton.html#method_getInstance">getInstance()</a></li>
<li><a href="classes/OCC-Basics-Traits-Singleton.html#method___construct">__construct()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-Singleton.html#method___clone">__clone()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-Singleton.html#method_getInstance">getInstance()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-Singleton.html#method___construct">__construct()</a></li>
</ul>
</li>
</ul>

View File

@ -189,6 +189,7 @@
<p class="phpdocumentor-summary">A generic data type checker.</p>
<section class="phpdocumentor-description"><p>This allows to set a list of allowed atomic data types and fully qualified
class names. It also provides a method to check if a value's data type
matches at least one of these types.</p>
@ -214,6 +215,8 @@ matches at least one of these types.</p>
<h3 id="toc">
Table of Contents
<a href="classes/OCC-Basics-Traits-TypeChecker.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
@ -236,28 +239,28 @@ matches at least one of these types.</p>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-TypeChecker.html#method_getAllowedTypes">getAllowedTypes()</a>
<a class="" href="classes/OCC-Basics-Traits-TypeChecker.html#method_getAllowedTypes">getAllowedTypes()</a>
<span>
&nbsp;: array&lt;string|int, string&gt; </span>
</dt>
<dd>Get allowed data types.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-TypeChecker.html#method_hasAllowedType">hasAllowedType()</a>
<a class="" href="classes/OCC-Basics-Traits-TypeChecker.html#method_hasAllowedType">hasAllowedType()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Check if a value&#039;s data type is allowed.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-TypeChecker.html#method_isAllowedType">isAllowedType()</a>
<a class="" href="classes/OCC-Basics-Traits-TypeChecker.html#method_isAllowedType">isAllowedType()</a>
<span>
&nbsp;: bool </span>
</dt>
<dd>Check if a data type is allowed.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/OCC-Basics-Traits-TypeChecker.html#method_setAllowedTypes">setAllowedTypes()</a>
<a class="" href="classes/OCC-Basics-Traits-TypeChecker.html#method_setAllowedTypes">setAllowedTypes()</a>
<span>
&nbsp;: void </span>
</dt>
@ -311,6 +314,9 @@ matches at least one of these types.</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">array&lt;string|int, string&gt;</span>
@ -351,6 +357,7 @@ matches at least one of these types.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -366,6 +373,8 @@ matches at least one of these types.</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -406,6 +415,7 @@ matches at least one of these types.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -421,6 +431,8 @@ matches at least one of these types.</p>
<section>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">bool</span>
@ -461,6 +473,7 @@ matches at least one of these types.</p>
</div>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
@ -494,6 +507,8 @@ matches at least one of these types.</p>
</dl>
</article>
</section>
@ -606,10 +621,10 @@ matches at least one of these types.</p>
<li class="phpdocumentor-on-this-page-section__title">Methods</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_getAllowedTypes">getAllowedTypes()</a></li>
<li><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_hasAllowedType">hasAllowedType()</a></li>
<li><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_isAllowedType">isAllowedType()</a></li>
<li><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_setAllowedTypes">setAllowedTypes()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_getAllowedTypes">getAllowedTypes()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_hasAllowedType">hasAllowedType()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_isAllowedType">isAllowedType()</a></li>
<li class=""><a href="classes/OCC-Basics-Traits-TypeChecker.html#method_setAllowedTypes">setAllowedTypes()</a></li>
</ul>
</li>
</ul>

View File

@ -99,6 +99,7 @@
/* Base Styles
-------------------------------------------------- */
body {
background-color: #fff;
color: var(--text-color);
font-family: var(--font-primary);
font-size: var(--text-md);
@ -494,7 +495,7 @@ div.phpdocumentor-list > ul,
ol.phpdocumentor-list,
ul.phpdocumentor-list {
margin-top: 0;
padding-left: var(--spacing-md);
padding-left: var(--spacing-lg);
margin-bottom: var(--spacing-sm);
}
@ -1215,6 +1216,10 @@ is too big a fix and needs to be done in a new design iteration.
word-break: break-all;
line-height: normal;
}
.phpdocumentor-on-this-page__content li.-deprecated {
text-decoration: line-through;
}
}
/* Used for screen readers and such */

View File

@ -126,6 +126,10 @@
flex: 0 1 auto;
}
.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry > a.-deprecated {
text-decoration: line-through;
}
.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry > span {
flex: 1;
white-space: nowrap;

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-datastructures-exceptions-invaliddatatypeexception.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-datastructures-strictarray.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-datastructures-strictcollection.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-datastructures-strictlist.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-datastructures-strictqueue.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-datastructures-strictstack.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-datastructures-traits-strictspldoublylinkedlisttrait.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-errorhandlers-throwerrorexception.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-errorhandlers-triggerexceptionerror.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-interfaces-arrayaccesstrait.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-interfaces-countabletrait.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-interfaces-iteratoraggregatetrait.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-interfaces-iteratortrait.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-traits-getter.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-traits-overloadinggetter.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-traits-overloadingsetter.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-traits-setter.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-traits-singleton.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -176,6 +176,7 @@
<p class="phpdocumentor-summary">PHP Basics</p>
<section class="phpdocumentor-description"><p>Copyright (C) 2024 Sebastian Meyer <a href="mailto:sebastian.meyer@opencultureconsulting.com">sebastian.meyer@opencultureconsulting.com</a></p>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -193,6 +194,8 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
<h3 id="toc">
Table of Contents
<a href="files/src-traits-typechecker.html#toc" class="headerlink"><i class="fas fa-link"></i></a>

View File

@ -83,7 +83,7 @@ class StrictArray extends StrictCollection implements Iterator
*/
public function pop(): mixed
{
if ($this->count() === 0) {
if (count($this->_data) === 0) {
throw new RuntimeException(
'Cannot return last item: array is empty.'
);
@ -126,7 +126,7 @@ class StrictArray extends StrictCollection implements Iterator
*/
public function shift(): mixed
{
if ($this->count() === 0) {
if (count($this->_data) === 0) {
throw new RuntimeException(
'Cannot return first item: array is empty.'
);

View File

@ -173,14 +173,51 @@
<div class="admonition-wrapper">
<div class="admonition admonition-sidebar"><p class="sidebar-title">Table of Contents</p>
<div class="contents"><ul class="phpdocumentor-list"><li class="toc-item"><a href="guides/changelog.html#v2-1-0">v2.1.0</a></li><li class="toc-item"><a href="guides/changelog.html#v2-0-0">v2.0.0</a></li><li class="toc-item"><a href="guides/changelog.html#v1-1-0">v1.1.0</a></li><li class="toc-item"><a href="guides/changelog.html#v1-0-1">v1.0.1</a></li><li class="toc-item"><a href="guides/changelog.html#v1-0-0">v1.0.0</a></li></ul></div>
<div class="contents">
<ul class="phpdocumentor-list">
<li class="toc-item">
<a href="guides/changelog.html#v2-1-0">v2.1.0</a>
</li>
<li class="toc-item">
<a href="guides/changelog.html#v2-0-0">v2.0.0</a>
</li>
<li class="toc-item">
<a href="guides/changelog.html#v1-1-0">v1.1.0</a>
</li>
<li class="toc-item">
<a href="guides/changelog.html#v1-0-1">v1.0.1</a>
</li>
<li class="toc-item">
<a href="guides/changelog.html#v1-0-0">v1.0.0</a>
</li>
</ul>
</div>
</div>
</div>
<div class="section" id="v2-1-0">
<h2>v2.1.0</h2>
<p><strong>Breaking Changes:</strong></p>
<p><strong>Breaking Changes:</strong>
</p>
<ul>
@ -191,7 +228,10 @@
</ul>
<p><strong>New Features:</strong></p>
<p><strong>New Features:</strong>
</p>
<ul>
@ -205,31 +245,45 @@
<div class="section" id="v2-0-0">
<h2>v2.0.0</h2>
<p><strong>Breaking Changes:</strong></p>
<p><strong>Breaking Changes:</strong>
</p>
<ul>
<li>Raised minimum PHP version from 8.0 to 8.1 in order to use <a href="https://www.php.net/releases/8.1/">new features</a> like
<a href="https://www.php.net/array_is_list">array_is_list()</a> and the spread operator on string-keyed arrays</li>
<li><p><a href="namespaces/occ-basics-interfaces.html"><abbr title="\OCC\Basics\Interfaces">Interfaces</abbr></a>
traits renamed and moved to different namespace</p><pre><code class="language-">OCC\Basics\InterfaceTraits\ArrayAccess -&gt; OCC\Basics\Interfaces\ArrayAccessTrait
<li>
<p><a href="namespaces/occ-basics-interfaces.html"><abbr title="\OCC\Basics\Interfaces">Interfaces</abbr></a>
traits renamed and moved to different namespace</p>
<pre><code class="language-">OCC\Basics\InterfaceTraits\ArrayAccess -&gt; OCC\Basics\Interfaces\ArrayAccessTrait
OCC\Basics\InterfaceTraits\Countable -&gt; OCC\Basics\Interfaces\CountableTrait
OCC\Basics\InterfaceTraits\IteratorAggregate -&gt; OCC\Basics\Interfaces\IteratorAggregateTrait
OCC\Basics\InterfaceTraits\Iterator -&gt; OCC\Basics\Interfaces\IteratorTrait</code></pre></li>
OCC\Basics\InterfaceTraits\Iterator -&gt; OCC\Basics\Interfaces\IteratorTrait</code></pre>
</li>
<li><p>Prefixed internal methods for <a href="classes/OCC-Basics-Traits-Getter.html"><abbr title="\OCC\Basics\Traits\Getter">Getter</abbr></a>
<li>
<p>Prefixed internal methods for <a href="classes/OCC-Basics-Traits-Getter.html"><abbr title="\OCC\Basics\Traits\Getter">Getter</abbr></a>
and <a href="classes/OCC-Basics-Traits-Setter.html"><abbr title="\OCC\Basics\Traits\Setter">Setter</abbr></a>
with
<code>_</code> to avoid confusion with regular class methods</p><pre><code class="language-php">// old methods
<code>_</code>
to avoid confusion with regular class methods</p>
<pre><code class="language-php">// old methods
function magicGet{Property}(): mixed
function magicSet{Property}(mixed $value): void</code></pre><pre><code class="language-php">// new methods
function magicSet{Property}(mixed $value): void</code></pre>
<pre><code class="language-php">// new methods
function _magicGet{Property}(): mixed
function _magicSet{Property}(mixed $value): void</code></pre></li>
function _magicSet{Property}(mixed $value): void</code></pre>
</li>
</ul>
<p><strong>New Features:</strong></p>
<p><strong>New Features:</strong>
</p>
<ul>
@ -251,7 +305,7 @@ function _magicSet{Property}(mixed $value): void</code></pre></li>
<li>Added new trait <a href="classes/OCC-Basics-Traits-TypeChecker.html"><abbr title="\OCC\Basics\Traits\TypeChecker">TypeChecker</abbr></a>
</li>
<li>Extended API for all datastructures (see <a href=""></a>
<li>Extended API for all datastructures (see <a href="classes/OCC-Basics-DataStructures-Traits-StrictSplDoublyLinkedListTrait.html"><abbr title="\OCC\Basics\DataStructures\Traits\StrictSplDoublyLinkedListTrait">StrictSplDoublyLinkedListTrait</abbr></a>
)</li>
<li>Introduced <a href="classes/OCC-Basics-DataStructures-Exceptions-InvalidDataTypeException.html"><abbr title="\OCC\Basics\DataStructures\Exceptions\InvalidDataTypeException">InvalidDataTypeException</abbr></a>
@ -266,15 +320,22 @@ function _magicSet{Property}(mixed $value): void</code></pre></li>
<div class="section" id="v1-1-0">
<h2>v1.1.0</h2>
<p><strong>Breaking Changes:</strong></p>
<p><strong>Breaking Changes:</strong>
</p>
<ul>
<li><p>Changed the constructor&#039;s signature for all <a href="namespaces/occ-basics-datastructures.html"><abbr title="\OCC\Basics\DataStructures">DataStructures</abbr></a>
<li>
<p>Changed the constructor&#039;s signature for all <a href="namespaces/occ-basics-datastructures.html"><abbr title="\OCC\Basics\DataStructures">DataStructures</abbr></a>
to improve compatibility with
the corresponding <a href="https://www.php.net/spl.datastructures">SPL datastructures</a></p><pre><code class="language-php">// old constructor signature
public function __construct(iterable $items = [], array $allowedTypes = [])</code></pre><pre><code class="language-php">// new constructor signature
public function __construct(array $allowedTypes = [])</code></pre></li>
the corresponding <a href="https://www.php.net/spl.datastructures">SPL datastructures</a></p>
<pre><code class="language-php">// old constructor signature
public function __construct(iterable $items = [], array $allowedTypes = [])</code></pre>
<pre><code class="language-php">// new constructor signature
public function __construct(array $allowedTypes = [])</code></pre>
</li>
</ul>
@ -283,7 +344,10 @@ public function __construct(array $allowedTypes = [])</code></pre></li>
<div class="section" id="v1-0-1">
<h2>v1.0.1</h2>
<p><strong>New Features:</strong></p>
<p><strong>New Features:</strong>
</p>
<ul>
@ -297,7 +361,10 @@ public function __construct(array $allowedTypes = [])</code></pre></li>
<div class="section" id="v1-0-0">
<h2>v1.0.0</h2>
<p><strong>Initial Release</strong></p>
<p><strong>Initial Release</strong>
</p>
</div>
</div>
@ -315,7 +382,7 @@ public function __construct(array $allowedTypes = [])</code></pre></li>
</section>
</section>
</div>
<a href="guides/changelog.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
<a href="#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
</main>

View File

@ -173,36 +173,92 @@
<div class="toc">
<ul class="phpdocumentor-list">
<li class="toc-item"><a href="guides/overview/index.html#overview">Overview</a> <ul class="menu-level-1">
<li class="toc-item"><a href="guides/overview/datastructures.html#typed-datastructures">Typed Datastructures</a></li>
<li class="toc-item">
<a href="guides/overview/index.html#overview">Overview</a>
<ul class="menu-level-1">
<li class="toc-item">
<a href="guides/overview/datastructures.html#typed-datastructures">Typed Datastructures</a>
<li class="toc-item"><a href="guides/overview/errorhandlers.html#error-and-exception-handlers">Error and Exception Handlers</a></li>
<li class="toc-item"><a href="guides/overview/interfaces.html#interface-traits">Interface Traits</a></li>
</li>
<li class="toc-item"><a href="guides/overview/traits.html#traits">Traits</a></li>
<li class="toc-item">
<a href="guides/overview/errorhandlers.html#error-and-exception-handlers">Error and Exception Handlers</a>
</ul></li>
<li class="toc-item"><a href="guides/usage/index.html#user-guide">User Guide</a> <ul class="menu-level-1">
<li class="toc-item"><a href="guides/usage/requirements.html#requirements">Requirements</a></li>
</li>
<li class="toc-item"><a href="guides/usage/installation.html#installation">Installation</a></li>
<li class="toc-item">
<a href="guides/overview/interfaces.html#interface-traits">Interface Traits</a>
</ul></li>
<li class="toc-item"><a href="guides/changelog.html#changelog">Changelog</a> <ul class="section-level-1">
<li class="toc-item"><a href="guides/changelog.html#v2-1-0">v2.1.0</a></li>
</li>
<li class="toc-item"><a href="guides/changelog.html#v2-0-0">v2.0.0</a></li>
<li class="toc-item">
<a href="guides/overview/traits.html#traits">Traits</a>
<li class="toc-item"><a href="guides/changelog.html#v1-1-0">v1.1.0</a></li>
<li class="toc-item"><a href="guides/changelog.html#v1-0-1">v1.0.1</a></li>
</li>
<li class="toc-item"><a href="guides/changelog.html#v1-0-0">v1.0.0</a></li>
</ul>
</ul></li>
</li>
<li class="toc-item">
<a href="guides/usage/index.html#user-guide">User Guide</a>
<ul class="menu-level-1">
<li class="toc-item">
<a href="guides/usage/requirements.html#requirements">Requirements</a>
</li>
<li class="toc-item">
<a href="guides/usage/installation.html#installation">Installation</a>
</li>
</ul>
</li>
<li class="toc-item">
<a href="guides/changelog.html#changelog">Changelog</a>
<ul class="section-level-1">
<li class="toc-item">
<a href="guides/changelog.html#v2-1-0">v2.1.0</a>
</li>
<li class="toc-item">
<a href="guides/changelog.html#v2-0-0">v2.0.0</a>
</li>
<li class="toc-item">
<a href="guides/changelog.html#v1-1-0">v1.1.0</a>
</li>
<li class="toc-item">
<a href="guides/changelog.html#v1-0-1">v1.0.1</a>
</li>
<li class="toc-item">
<a href="guides/changelog.html#v1-0-0">v1.0.0</a>
</li>
</ul>
</li>
</ul>
</div>
@ -222,7 +278,7 @@
</section>
</section>
</div>
<a href="guides/index.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
<a href="#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
</main>

View File

@ -173,25 +173,88 @@
<div class="admonition-wrapper">
<div class="admonition admonition-sidebar"><p class="sidebar-title">Table of Contents</p>
<div class="contents"><ul class="phpdocumentor-list"><li class="toc-item"><a href="guides/overview/datastructures.html#strictcollection">StrictCollection</a></li><li class="toc-item"><a href="guides/overview/datastructures.html#strictarray">StrictArray</a></li><li class="toc-item"><a href="guides/overview/datastructures.html#strictlist">StrictList</a></li><li class="toc-item"><a href="guides/overview/datastructures.html#strictqueue">StrictQueue</a></li><li class="toc-item"><a href="guides/overview/datastructures.html#strictstack">StrictStack</a></li></ul></div>
<div class="contents">
<ul class="phpdocumentor-list">
<li class="toc-item">
<a href="guides/overview/datastructures.html#strictcollection">StrictCollection</a>
</li>
<li class="toc-item">
<a href="guides/overview/datastructures.html#strictarray">StrictArray</a>
</li>
<li class="toc-item">
<a href="guides/overview/datastructures.html#strictlist">StrictList</a>
</li>
<li class="toc-item">
<a href="guides/overview/datastructures.html#strictqueue">StrictQueue</a>
</li>
<li class="toc-item">
<a href="guides/overview/datastructures.html#strictstack">StrictStack</a>
</li>
</ul>
</div>
</div>
</div>
<p>The datastructures in this package are derived from their respective <a href="https://www.php.net/spl.datastructures">Standard PHP Library (SPL) counterparts</a> which they extend by the option to control the data types of items those
datastructures can hold.</p>
<p>To restrict allowed data types for items, provide the constructor with an array of atomic types or fully qualified
class names you want to allow as item types. Available atomic types are <code>array</code>, <code>bool</code>, <code>callable</code>, <code>countable</code>,
<code>float</code> / <code>double</code>, <code>int</code> / <code>integer</code> / <code>long</code>, <code>iterable</code>, <code>null</code>, <code>numeric</code>, <code>object</code>, <code>resource</code>, <code>scalar</code> and
<code>string</code>.</p>
<p>To restrict allowed data types for items provide the constructor with an array of atomic types or fully qualified class
names (FQCN) you want to allow as item types. Available atomic types are <code>array</code>
, <code>bool</code>
, <code>callable</code>
, <code>countable</code>
,
<code>float</code>
(or <code>double</code>
), <code>int</code>
(or <code>integer</code>
or <code>long</code>
), <code>iterable</code>
, <code>null</code>
, <code>numeric</code>
, <code>object</code>
, <code>resource</code>
, <code>scalar</code>
and <code>string</code>
.</p>
<p>Trying to add an item with a data type not on the list of allowed types to a strict datastructure will result in an
<a href="classes/OCC-Basics-DataStructures-Exceptions-InvalidDataTypeException.html"><abbr title="\OCC\Basics\DataStructures\Exceptions\InvalidDataTypeException">InvalidDataTypeException</abbr></a>
.</p>
being thrown.</p>
<p>All strict datastructures inherit the implementation of the <a href="https://www.php.net/arrayaccess">\ArrayAccess</a>,
<a href="https://www.php.net/countable">\Countable</a> and <a href="https://www.php.net/serializable">\Serializable</a> interfaces. All
but <code>StrictCollection</code> also implement a <a href="https://www.php.net/traversable">\Traversable</a> interface.</p>
<blockquote><p>Examples:</p><pre><code class="language-php">// create a collection of strings
$stringCollection = new StrictCollection([&#039;string&#039;]);</code></pre><pre><code class="language-php">// create a queue of PSR-15 middlewares
$middlewareQueue = new StrictQueue([&#039;Psr\Http\Server\MiddlewareInterface&#039;]);</code></pre></blockquote>
but <code>StrictCollection</code>
also implement a <a href="https://www.php.net/traversable">\Traversable</a> interface.</p>
<blockquote>
<p>Examples:</p>
<pre><code class="language-php">// create a collection of strings
$stringCollection = new StrictCollection([&#039;string&#039;]);</code></pre>
<pre><code class="language-php">// create a queue of PSR-15 middlewares
$middlewareQueue = new StrictQueue([&#039;Psr\Http\Server\MiddlewareInterface&#039;]);</code></pre>
</blockquote>
<div class="admonition-wrapper">
<div class="admonition admonition-sidebar"><p class="sidebar-title">API Documentation</p>
@ -209,16 +272,22 @@ $middlewareQueue = new StrictQueue([&#039;Psr\Http\Server\MiddlewareInterface&#0
<div class="section" id="strictcollection">
<h2>StrictCollection</h2>
<p><em>A type-sensitive, unsorted collection of items.</em></p>
<p><em>A type-sensitive, unsorted collection of items.</em>
</p>
<p>Holds items as key/value pairs where keys identify the items and have to be valid array keys while values can be of any
controlled type. The collection can be accessed like an array, but not traversed because it has no particular order.</p>
<div class="phpdocumentor-admonition note">
<svg class="phpdocumentor-admonition__icon" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"></path></svg>
<article>
<p>Internally it holds the items in the <code>$_data</code> array, the same as most <a href="guides/overview/interfaces.html">Interface Traits</a>
and <a href="guides/overview/traits.html">Traits</a>
of this
<p>Internally it holds the items in the <code>$_data</code>
array, the same as most <a href="guides/overview/interfaces.html">Interface Traits</a> and <a href="guides/overview/traits.html">Traits</a> of this
package.</p>
</article>
</div>
@ -240,16 +309,22 @@ package.</p>
<div class="section" id="strictarray">
<h2>StrictArray</h2>
<p><em>A type-sensitive, traversable array of items.</em></p>
<p><em>A type-sensitive, traversable array of items.</em>
</p>
<p>Holds items as key/value pairs where keys identify the items and have to be valid array keys while values can be of any
controlled type. The array can be accessed and traversed just like any other array.</p>
<div class="phpdocumentor-admonition note">
<svg class="phpdocumentor-admonition__icon" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"></path></svg>
<article>
<p>Internally it holds the items in the <code>$_data</code> array, the same as most <a href="guides/overview/interfaces.html">Interface Traits</a>
and <a href="guides/overview/traits.html">Traits</a>
of this
<p>Internally it holds the items in the <code>$_data</code>
array, the same as most <a href="guides/overview/interfaces.html">Interface Traits</a> and <a href="guides/overview/traits.html">Traits</a> of this
package.</p>
</article>
</div>
@ -271,9 +346,14 @@ package.</p>
<div class="section" id="strictlist">
<h2>StrictList</h2>
<p><em>A type-sensitive, taversable list of items.</em></p>
<p><em>A type-sensitive, taversable list of items.</em>
</p>
<p>Extends <a href="https://www.php.net/spldoublylinkedlist">\SplDoublyLinkedList</a> with an option to restrict the allowed data
types for list items. The list can be accessed and traversed like an array, but has only consecutive numerical keys.</p>
<div class="admonition-wrapper">
<div class="admonition admonition-sidebar"><p class="sidebar-title">API Documentation</p>
@ -292,12 +372,21 @@ types for list items. The list can be accessed and traversed like an array, but
<div class="section" id="strictqueue">
<h2>StrictQueue</h2>
<p><em>A type-sensitive, taversable queue (FIFO) of items.</em></p>
<p><em>A type-sensitive, taversable queue (FIFO) of items.</em>
</p>
<p>Extends <a href="https://www.php.net/splqueue">\SplQueue</a> with an option to restrict the allowed data types for queue items.
The queue can be accessed and traversed like an array, but has only consecutive numerical keys. Traversal follows the
first-in, first-out (FIFO) principle meaning that items are returned in the same order they were added to the queue.</p>
<p>It is recommended to use the <code>StrictQueue::enqueue()</code> and <code>StrictQueue::dequeue()</code> alias methods when working with a
<p>It is recommended to use the <code>StrictQueue::enqueue()</code>
and <code>StrictQueue::dequeue()</code>
alias methods when working with a
queue, because those will ensure proper FIFO behavior and remove items while traversing.</p>
<div class="admonition-wrapper">
<div class="admonition admonition-sidebar"><p class="sidebar-title">API Documentation</p>
@ -316,12 +405,21 @@ queue, because those will ensure proper FIFO behavior and remove items while tra
<div class="section" id="strictstack">
<h2>StrictStack</h2>
<p><em>A type-sensitive, taversable stack (LIFO) of items.</em></p>
<p><em>A type-sensitive, taversable stack (LIFO) of items.</em>
</p>
<p>Extends <a href="https://www.php.net/splstack">\SplStack</a> with an option to restrict the allowed data types for stack items.
The stack can be accessed and traversed like an array, but has only consecutive numerical keys. Traversal follows the
last-in, first-out (LIFO) principle meaning that items are returned in the reversed order they were added to the stack.</p>
<p>It is recommended to use the <code>StrictStack::stack()</code> and <code>StrictStack::unstack()</code> alias methods when working with a
<p>It is recommended to use the <code>StrictStack::stack()</code>
and <code>StrictStack::unstack()</code>
alias methods when working with a
stack, because those will ensure proper LIFO behavior and remove items while traversing.</p>
</div>
</div>
@ -339,7 +437,7 @@ stack, because those will ensure proper LIFO behavior and remove items while tra
</section>
</section>
</div>
<a href="guides/overview/datastructures.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
<a href="#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
</main>

View File

@ -187,16 +187,33 @@
<div class="section" id="throwerrorexception">
<h2>ThrowErrorException</h2>
<p><em>Throws internal errors as exceptions.</em></p>
<p><em>Throws internal errors as exceptions.</em>
</p>
<p>If registered as error handler, this handles an internal PHP error by converting it into an <a href="https://www.php.net/errorexception">\ErrorException</a>. It respects the <a href="https://www.php.net/error_reporting">error_reporting</a>
directive by only throwing an exception if the severity of the internal error is the same or higher than the setting.</p>
<blockquote><p>Usage:</p><pre><code class="language-php">set_error_handler(new ThrowErrorException());</code></pre></blockquote>
<blockquote>
<p>Usage:</p>
<pre><code class="language-php">set_error_handler(new ThrowErrorException());</code></pre>
</blockquote>
<div class="phpdocumentor-admonition caution">
<svg class="phpdocumentor-admonition__icon" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"></path></svg>
<article>
<p>By design user-defined error handlers can&#039;t handle errors of severity <code>E_ERROR</code>, <code>E_PARSE</code>, <code>E_CORE_ERROR</code>,
<code>E_CORE_WARNING</code>, <code>E_COMPILE_ERROR</code>, <code>E_COMPILE_WARNING</code> and most of <code>E_STRICT</code>.</p>
<p>By design user-defined error handlers can&#039;t handle errors of severity <code>E_ERROR</code>
, <code>E_PARSE</code>
, <code>E_CORE_ERROR</code>
,
<code>E_CORE_WARNING</code>
, <code>E_COMPILE_ERROR</code>
, <code>E_COMPILE_WARNING</code>
and most of <code>E_STRICT</code>
.</p>
</article>
</div>
@ -218,10 +235,19 @@ directive by only throwing an exception if the severity of the internal error is
<div class="section" id="triggerexceptionerror">
<h2>TriggerExceptionError</h2>
<p><em>Triggers errors for uncaught exceptions.</em></p>
<p><em>Triggers errors for uncaught exceptions.</em>
</p>
<p>If registered as exception handler, this catches an uncaught exception and converts it into an internal PHP error of
severity <code>E_USER_ERROR</code>.</p>
<blockquote><p>Usage:</p><pre><code class="language-php">set_exception_handler(new TriggerExceptionError());</code></pre></blockquote>
severity <code>E_USER_ERROR</code>
.</p>
<blockquote>
<p>Usage:</p>
<pre><code class="language-php">set_exception_handler(new TriggerExceptionError());</code></pre>
</blockquote>
</div>
@ -240,7 +266,7 @@ severity <code>E_USER_ERROR</code>.</p>
</section>
</section>
</div>
<a href="guides/overview/errorhandlers.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
<a href="#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
</main>

View File

@ -171,62 +171,144 @@
<div class="section" id="overview">
<h1>Overview</h1>
<p>The package currently contains classes for <a href="guides/overview/datastructures.html">Typed Datastructures</a>
, <a href="guides/overview/errorhandlers.html">Error and Exception Handlers</a>
, multiple <a href="guides/overview/interfaces.html">Interface Traits</a>
, and
more generic <a href="guides/overview/traits.html">Traits</a>
for common use cases. They share the same design principles like property and method naming
<p>The package currently contains classes for <a href="guides/overview/datastructures.html">Typed Datastructures</a>, <a href="guides/overview/errorhandlers.html">Error and Exception Handlers</a>, multiple <a href="guides/overview/interfaces.html">Interface Traits</a>, and
more generic <a href="guides/overview/traits.html">Traits</a> for common use cases. They share the same design principles like property and method naming
schema, the highest coding standards of <a href="https://phpstan.org/">PHPStan</a> and <a href="https://psalm.dev/">Psalm</a>, and full
<a href="https://www.php-fig.org/psr/psr-12/">PSR-12</a> compliance to make sure they can be combined and easily re-used in
other projects.</p>
<a href="https://www.php-fig.org/psr/psr-12/">PSR-12</a> compliance to make sure they can be combined and easily used in other
projects.</p>
<div class="toc">
<ul class="phpdocumentor-list">
<li class="toc-item"><a href="guides/overview/datastructures.html#typed-datastructures">Typed Datastructures</a> <ul class="section-level-1">
<li class="toc-item"><a href="guides/overview/datastructures.html#strictcollection">StrictCollection</a></li>
<li class="toc-item">
<a href="guides/overview/datastructures.html#typed-datastructures">Typed Datastructures</a>
<li class="toc-item"><a href="guides/overview/datastructures.html#strictarray">StrictArray</a></li>
<ul class="section-level-1">
<li class="toc-item">
<a href="guides/overview/datastructures.html#strictcollection">StrictCollection</a>
<li class="toc-item"><a href="guides/overview/datastructures.html#strictlist">StrictList</a></li>
<li class="toc-item"><a href="guides/overview/datastructures.html#strictqueue">StrictQueue</a></li>
</li>
<li class="toc-item"><a href="guides/overview/datastructures.html#strictstack">StrictStack</a></li>
<li class="toc-item">
<a href="guides/overview/datastructures.html#strictarray">StrictArray</a>
</ul></li>
<li class="toc-item"><a href="guides/overview/errorhandlers.html#error-and-exception-handlers">Error and Exception Handlers</a> <ul class="section-level-1">
<li class="toc-item"><a href="guides/overview/errorhandlers.html#throwerrorexception">ThrowErrorException</a></li>
</li>
<li class="toc-item"><a href="guides/overview/errorhandlers.html#triggerexceptionerror">TriggerExceptionError</a></li>
<li class="toc-item">
<a href="guides/overview/datastructures.html#strictlist">StrictList</a>
</ul></li>
<li class="toc-item"><a href="guides/overview/interfaces.html#interface-traits">Interface Traits</a> <ul class="section-level-1">
<li class="toc-item"><a href="guides/overview/interfaces.html#arrayaccesstrait">ArrayAccessTrait</a></li>
</li>
<li class="toc-item"><a href="guides/overview/interfaces.html#countabletrait">CountableTrait</a></li>
<li class="toc-item">
<a href="guides/overview/datastructures.html#strictqueue">StrictQueue</a>
<li class="toc-item"><a href="guides/overview/interfaces.html#iteratoraggregatetrait">IteratorAggregateTrait</a></li>
<li class="toc-item"><a href="guides/overview/interfaces.html#iteratortrait">IteratorTrait</a></li>
</li>
</ul></li>
<li class="toc-item">
<a href="guides/overview/datastructures.html#strictstack">StrictStack</a>
<li class="toc-item"><a href="guides/overview/traits.html#traits">Traits</a> <ul class="section-level-1">
<li class="toc-item"><a href="guides/overview/traits.html#getter">Getter</a></li>
<li class="toc-item"><a href="guides/overview/traits.html#setter">Setter</a></li>
</li>
<li class="toc-item"><a href="guides/overview/traits.html#overloadinggetter">OverloadingGetter</a></li>
</ul>
</li>
<li class="toc-item"><a href="guides/overview/traits.html#overloadingsetter">OverloadingSetter</a></li>
<li class="toc-item">
<a href="guides/overview/errorhandlers.html#error-and-exception-handlers">Error and Exception Handlers</a>
<li class="toc-item"><a href="guides/overview/traits.html#singleton">Singleton</a></li>
<ul class="section-level-1">
<li class="toc-item">
<a href="guides/overview/errorhandlers.html#throwerrorexception">ThrowErrorException</a>
<li class="toc-item"><a href="guides/overview/traits.html#typechecker">TypeChecker</a></li>
</ul></li>
</li>
<li class="toc-item">
<a href="guides/overview/errorhandlers.html#triggerexceptionerror">TriggerExceptionError</a>
</li>
</ul>
</li>
<li class="toc-item">
<a href="guides/overview/interfaces.html#interface-traits">Interface Traits</a>
<ul class="section-level-1">
<li class="toc-item">
<a href="guides/overview/interfaces.html#arrayaccesstrait">ArrayAccessTrait</a>
</li>
<li class="toc-item">
<a href="guides/overview/interfaces.html#countabletrait">CountableTrait</a>
</li>
<li class="toc-item">
<a href="guides/overview/interfaces.html#iteratoraggregatetrait">IteratorAggregateTrait</a>
</li>
<li class="toc-item">
<a href="guides/overview/interfaces.html#iteratortrait">IteratorTrait</a>
</li>
</ul>
</li>
<li class="toc-item">
<a href="guides/overview/traits.html#traits">Traits</a>
<ul class="section-level-1">
<li class="toc-item">
<a href="guides/overview/traits.html#getter">Getter</a>
</li>
<li class="toc-item">
<a href="guides/overview/traits.html#setter">Setter</a>
</li>
<li class="toc-item">
<a href="guides/overview/traits.html#overloadinggetter">OverloadingGetter</a>
</li>
<li class="toc-item">
<a href="guides/overview/traits.html#overloadingsetter">OverloadingSetter</a>
</li>
<li class="toc-item">
<a href="guides/overview/traits.html#singleton">Singleton</a>
</li>
<li class="toc-item">
<a href="guides/overview/traits.html#typechecker">TypeChecker</a>
</li>
</ul>
</li>
</ul>
</div>
@ -246,7 +328,7 @@ other projects.</p>
</section>
</section>
</div>
<a href="guides/overview/index.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
<a href="#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
</main>

View File

@ -173,20 +173,51 @@
<div class="admonition-wrapper">
<div class="admonition admonition-sidebar"><p class="sidebar-title">Table of Contents</p>
<div class="contents"><ul class="phpdocumentor-list"><li class="toc-item"><a href="guides/overview/interfaces.html#arrayaccesstrait">ArrayAccessTrait</a></li><li class="toc-item"><a href="guides/overview/interfaces.html#countabletrait">CountableTrait</a></li><li class="toc-item"><a href="guides/overview/interfaces.html#iteratoraggregatetrait">IteratorAggregateTrait</a></li><li class="toc-item"><a href="guides/overview/interfaces.html#iteratortrait">IteratorTrait</a></li></ul></div>
<div class="contents">
<ul class="phpdocumentor-list">
<li class="toc-item">
<a href="guides/overview/interfaces.html#arrayaccesstrait">ArrayAccessTrait</a>
</li>
<li class="toc-item">
<a href="guides/overview/interfaces.html#countabletrait">CountableTrait</a>
</li>
<li class="toc-item">
<a href="guides/overview/interfaces.html#iteratoraggregatetrait">IteratorAggregateTrait</a>
</li>
<li class="toc-item">
<a href="guides/overview/interfaces.html#iteratortrait">IteratorTrait</a>
</li>
</ul>
</div>
</div>
</div>
<p>This package contains some traits implementing common interfaces, which can easily be used in any class that internally
uses an array for holding its properties or data. They also share the same internal logic to allow combining multiple
traits within the same class.</p>
<div class="phpdocumentor-admonition note">
<svg class="phpdocumentor-admonition__icon" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"></path></svg>
<article>
<p>Internally all interface traits use the <code>$_data</code> array, the same as some <a href="guides/overview/datastructures.html">Typed Datastructures</a>
and <a href="guides/overview/traits.html">Traits</a>
of
<p>Internally all interface traits use the <code>$_data</code>
array, the same as some <a href="guides/overview/datastructures.html">Typed Datastructures</a> and <a href="guides/overview/traits.html">Traits</a> of
this package.</p>
</article>
</div>
@ -206,12 +237,20 @@ this package.</p>
<div class="section" id="arrayaccesstrait">
<h2>ArrayAccessTrait</h2>
<p><em>A generic implementation of the ArrayAccess interface.</em></p>
<p><em>A generic implementation of the ArrayAccess interface.</em>
</p>
<p>The <a href="https://www.php.net/arrayaccess">\ArrayAccess</a> interface allows objects to be accessed like arrays.</p>
<blockquote><p>Usage:</p><pre><code class="language-php">class Foo implements ArrayAccess
<blockquote>
<p>Usage:</p>
<pre><code class="language-php">class Foo implements ArrayAccess
{
use \OCC\Basics\Interfaces\ArrayAccessTrait;
}</code></pre></blockquote>
}</code></pre>
</blockquote>
<div class="admonition-wrapper">
<div class="admonition admonition-sidebar"><p class="sidebar-title">API Documentation</p>
@ -231,12 +270,20 @@ this package.</p>
<div class="section" id="countabletrait">
<h2>CountableTrait</h2>
<p><em>A generic implementation of the Countable interface.</em></p>
<p><em>A generic implementation of the Countable interface.</em>
</p>
<p>The <a href="https://www.php.net/countable">\Countable</a> interface allows objects to be used with the <a href="https://www.php.net/count">count()</a> function.</p>
<blockquote><p>Usage:</p><pre><code class="language-php">class Foo implements Countable
<blockquote>
<p>Usage:</p>
<pre><code class="language-php">class Foo implements Countable
{
use \OCC\Basics\Interfaces\CountableTrait;
}</code></pre></blockquote>
}</code></pre>
</blockquote>
<div class="admonition-wrapper">
<div class="admonition admonition-sidebar"><p class="sidebar-title">API Documentation</p>
@ -256,12 +303,20 @@ this package.</p>
<div class="section" id="iteratoraggregatetrait">
<h2>IteratorAggregateTrait</h2>
<p><em>A generic implementation of the IteratorAggregate interface.</em></p>
<p><em>A generic implementation of the IteratorAggregate interface.</em>
</p>
<p>The <a href="https://www.php.net/iteratoraggregate">\IteratorAggregate</a> interface creates an external <a href="https://www.php.net/arrayiterator">\ArrayIterator</a> for traversing the object&#039;s internal data array.</p>
<blockquote><p>Usage:</p><pre><code class="language-php">class Foo implements IteratorAggregate
<blockquote>
<p>Usage:</p>
<pre><code class="language-php">class Foo implements IteratorAggregate
{
use \OCC\Basics\Interfaces\IteratorAggregateTrait;
}</code></pre></blockquote>
}</code></pre>
</blockquote>
<div class="admonition-wrapper">
<div class="admonition admonition-sidebar"><p class="sidebar-title">API Documentation</p>
@ -281,13 +336,21 @@ this package.</p>
<div class="section" id="iteratortrait">
<h2>IteratorTrait</h2>
<p><em>A generic implementation of the Iterator interface.</em></p>
<p><em>A generic implementation of the Iterator interface.</em>
</p>
<p>The <a href="https://www.php.net/iterator">\Iterator</a> interface creates an internal iterator for traversing the object&#039;s data
array.</p>
<blockquote><p>Usage:</p><pre><code class="language-php">class Foo implements Iterator
<blockquote>
<p>Usage:</p>
<pre><code class="language-php">class Foo implements Iterator
{
use \OCC\Basics\Interfaces\IteratorTrait;
}</code></pre></blockquote>
}</code></pre>
</blockquote>
</div>
@ -306,7 +369,7 @@ array.</p>
</section>
</section>
</div>
<a href="guides/overview/interfaces.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
<a href="#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
</main>

View File

@ -173,15 +173,55 @@
<div class="admonition-wrapper">
<div class="admonition admonition-sidebar"><p class="sidebar-title">Table of Contents</p>
<div class="contents"><ul class="phpdocumentor-list"><li class="toc-item"><a href="guides/overview/traits.html#getter">Getter</a></li><li class="toc-item"><a href="guides/overview/traits.html#setter">Setter</a></li><li class="toc-item"><a href="guides/overview/traits.html#overloadinggetter">OverloadingGetter</a></li><li class="toc-item"><a href="guides/overview/traits.html#overloadingsetter">OverloadingSetter</a></li><li class="toc-item"><a href="guides/overview/traits.html#singleton">Singleton</a></li><li class="toc-item"><a href="guides/overview/traits.html#typechecker">TypeChecker</a></li></ul></div>
<div class="contents">
<ul class="phpdocumentor-list">
<li class="toc-item">
<a href="guides/overview/traits.html#getter">Getter</a>
</li>
<li class="toc-item">
<a href="guides/overview/traits.html#setter">Setter</a>
</li>
<li class="toc-item">
<a href="guides/overview/traits.html#overloadinggetter">OverloadingGetter</a>
</li>
<li class="toc-item">
<a href="guides/overview/traits.html#overloadingsetter">OverloadingSetter</a>
</li>
<li class="toc-item">
<a href="guides/overview/traits.html#singleton">Singleton</a>
</li>
<li class="toc-item">
<a href="guides/overview/traits.html#typechecker">TypeChecker</a>
</li>
</ul>
</div>
</div>
</div>
<p>This package provides a number of generic traits like different getter and setter methods, an implementation of the
singleton design pattern and some little helpers. Those traits are too small to justify their own packages and most of them
are dependencies of the <a href="guides/overview/datastructures.html">Typed Datastructures</a>
and <a href="guides/overview/interfaces.html">Interface Traits</a>
anyway.</p>
are dependencies of the <a href="guides/overview/datastructures.html">Typed Datastructures</a> and <a href="guides/overview/interfaces.html">Interface Traits</a> anyway.</p>
<div class="admonition-wrapper">
<div class="admonition admonition-sidebar"><p class="sidebar-title">API Documentation</p>
@ -198,14 +238,30 @@ are dependencies of the <a href="guides/overview/datastructures.html">Typed Data
<div class="section" id="getter">
<h2>Getter</h2>
<p><em>Reads data from inaccessible properties by using magic methods.</em></p>
<p>To make a <code>protected</code> or <code>private</code> property readable, provide a method named <code>_magicGet{Property}()</code> which handles the
reading. Replace <code>{Property}</code> in the method&#039;s name with the name of the actual property (with an uppercase first
<p><em>Reads data from inaccessible properties by using magic methods.</em>
</p>
<p>To make a <code>protected</code>
or <code>private</code>
property readable, provide a method named <code>_magicGet{Property}()</code>
which handles the
reading. Replace <code>{Property}</code>
in the method&#039;s name with the name of the actual property (with an uppercase first
letter).</p>
<p>Trying to access an undefined property or a property without corresponding &quot;magic&quot; getter method will result in an
<a href="https://www.php.net/invalidargumentexception">\InvalidArgumentException</a>.</p>
<blockquote><p>Example: If the property is named <code>$fooBar</code>, the &quot;magic&quot; method has to be <code>_magicGetFooBar()</code>. This method is then
called when <code>$fooBar</code> is read in a context where it normally would not be accessible.</p></blockquote>
<a href="https://www.php.net/invalidargumentexception">\InvalidArgumentException</a> being thrown.</p>
<blockquote>
<p>Example: If the property is named <code>$fooBar</code>
, the &quot;magic&quot; method has to be <code>_magicGetFooBar()</code>
. This method is then
called when <code>$fooBar</code>
is read in a context where it normally would not be accessible.</p>
</blockquote>
<div class="admonition-wrapper">
<div class="admonition admonition-sidebar"><p class="sidebar-title">API Documentation</p>
@ -225,14 +281,30 @@ called when <code>$fooBar</code> is read in a context where it normally would no
<div class="section" id="setter">
<h2>Setter</h2>
<p><em>Writes data to inaccessible properties by using magic methods.</em></p>
<p>To make a <code>protected</code> or <code>private</code> property writable, provide a method named <code>_magicSet{Property}()</code> which handles the
writing. Replace <code>{Property}</code> in the method&#039;s name with the name of the actual property (with an uppercase first
<p><em>Writes data to inaccessible properties by using magic methods.</em>
</p>
<p>To make a <code>protected</code>
or <code>private</code>
property writable, provide a method named <code>_magicSet{Property}()</code>
which handles the
writing. Replace <code>{Property}</code>
in the method&#039;s name with the name of the actual property (with an uppercase first
letter).</p>
<p>Trying to access an undefined property or a property without corresponding &quot;magic&quot; setter method will result in an
<a href="https://www.php.net/invalidargumentexception">\InvalidArgumentException</a>.</p>
<blockquote><p>Example: If the property is named <code>$fooBar</code>, the &quot;magic&quot; method has to be <code>_magicSetFooBar()</code>. This method is then
called when <code>$fooBar</code> is written to in a context where it normally would not be accessible.</p></blockquote>
<a href="https://www.php.net/invalidargumentexception">\InvalidArgumentException</a> being thrown.</p>
<blockquote>
<p>Example: If the property is named <code>$fooBar</code>
, the &quot;magic&quot; method has to be <code>_magicSetFooBar()</code>
. This method is then
called when <code>$fooBar</code>
is written to in a context where it normally would not be accessible.</p>
</blockquote>
<div class="admonition-wrapper">
<div class="admonition admonition-sidebar"><p class="sidebar-title">API Documentation</p>
@ -252,18 +324,31 @@ called when <code>$fooBar</code> is written to in a context where it normally wo
<div class="section" id="overloadinggetter">
<h2>OverloadingGetter</h2>
<p><em>Overloads a class with readable virtual properties.</em></p>
<p><em>Overloads a class with readable virtual properties.</em>
</p>
<p>It reads a protected internal array whose keys are interpreted as property names.</p>
<p>Trying to access an undefined virtual property will not issue any warning or error, but return <code>NULL</code> instead.</p>
<blockquote><p>Example: Reading <code>Foo-&gt;bar</code> will return the value of <code>Foo::$_data[&#039;bar&#039;]</code>.</p></blockquote>
<p>Trying to access an undefined virtual property will not issue any warning or error, but return <code>NULL</code>
instead.</p>
<blockquote>
<p>Example: Reading <code>Foo-&gt;bar</code>
will return the value of <code>Foo::$_data[&#039;bar&#039;]</code>
.</p>
</blockquote>
<div class="phpdocumentor-admonition note">
<svg class="phpdocumentor-admonition__icon" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"></path></svg>
<article>
<p>Internally it uses the <code>$_data</code> array, the same as some <a href="guides/overview/datastructures.html">Typed Datastructures</a>
and all <a href="guides/overview/interfaces.html">Interface Traits</a>
of this
<p>Internally it uses the <code>$_data</code>
array, the same as some <a href="guides/overview/datastructures.html">Typed Datastructures</a> and all <a href="guides/overview/interfaces.html">Interface Traits</a> of this
package.</p>
</article>
</div>
@ -285,18 +370,31 @@ package.</p>
<div class="section" id="overloadingsetter">
<h2>OverloadingSetter</h2>
<p><em>Overloads a class with writable virtual properties.</em></p>
<p><em>Overloads a class with writable virtual properties.</em>
</p>
<p>It writes a protected internal array whose keys are interpreted as property names.</p>
<p>Trying to access a previously undefined virtual property will create a new one with the given name.</p>
<blockquote><p>Example: <code>Foo-&gt;bar = 42;</code> will set <code>Foo::$_data[&#039;bar&#039;]</code> to <code>42</code>.</p></blockquote>
<blockquote>
<p>Example: <code>Foo-&gt;bar = 42;</code>
will set <code>Foo::$_data[&#039;bar&#039;]</code>
to <code>42</code>
.</p>
</blockquote>
<div class="phpdocumentor-admonition note">
<svg class="phpdocumentor-admonition__icon" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"></path></svg>
<article>
<p>Internally it uses the <code>$_data</code> array, the same as some <a href="guides/overview/datastructures.html">Typed Datastructures</a>
and all <a href="guides/overview/interfaces.html">Interface Traits</a>
of this
<p>Internally it uses the <code>$_data</code>
array, the same as some <a href="guides/overview/datastructures.html">Typed Datastructures</a> and all <a href="guides/overview/interfaces.html">Interface Traits</a> of this
package.</p>
</article>
</div>
@ -318,15 +416,25 @@ package.</p>
<div class="section" id="singleton">
<h2>Singleton</h2>
<p><em>Allows just a single instance of the class using this trait.</em></p>
<p>Get the singleton by calling the static method <code>getInstance()</code>. If there is no object yet, the constructor is called
with the same arguments as <code>getInstance()</code>. Any later call will just return the already instantiated object
<p><em>Allows just a single instance of the class using this trait.</em>
</p>
<p>Get the singleton by calling the static method <code>getInstance()</code>
. If there is no object yet, the constructor is called
with the same arguments as <code>getInstance()</code>
. Any later call will just return the already instantiated object
(irrespective of the given arguments).</p>
<div class="phpdocumentor-admonition caution">
<svg class="phpdocumentor-admonition__icon" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"></path></svg>
<article>
<p>In order for this to work as expected, the constructor has to be implemented as <code>private</code> to prevent direct
<p>In order for this to work as expected, the constructor has to be implemented as <code>private</code>
to prevent direct
instantiation of the class.</p>
</article>
</div>
@ -348,11 +456,34 @@ instantiation of the class.</p>
<div class="section" id="typechecker">
<h2>TypeChecker</h2>
<p><em>A generic data type checker.</em></p>
<p><em>A generic data type checker.</em>
</p>
<p>This allows to set a list of allowed atomic data types and fully qualified class names. It also provides a method to
check if a value&#039;s data type matches at least one of these types.</p>
<p>Available atomic types are <code>array</code>, <code>bool</code>, <code>callable</code>, <code>countable</code>, <code>float</code> / <code>double</code>, <code>int</code> / <code>integer</code> / <code>long</code>,
<code>iterable</code>, <code>null</code>, <code>numeric</code>, <code>object</code>, <code>resource</code>, <code>scalar</code> and <code>string</code>.</p>
<p>Available atomic types are <code>array</code>
, <code>bool</code>
, <code>callable</code>
, <code>countable</code>
, <code>float</code>
(or <code>double</code>
), <code>int</code>
(or <code>integer</code>
or
<code>long</code>
), <code>iterable</code>
, <code>null</code>
, <code>numeric</code>
, <code>object</code>
, <code>resource</code>
, <code>scalar</code>
and <code>string</code>
.</p>
</div>
</div>
@ -370,7 +501,7 @@ check if a value&#039;s data type matches at least one of these types.</p>
</section>
</section>
</div>
<a href="guides/overview/traits.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
<a href="#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
</main>

View File

@ -171,27 +171,57 @@
<div class="section" id="user-guide">
<h1>User Guide</h1>
<p>The <em>PHP Basics</em> are a library package, not a stand-alone application. The following documentation of requirements and
<p>The <em>PHP Basics</em>
are a library package, not a stand-alone application. The following documentation of requirements and
installation procedures describes how to make use of the classes and traits within your own application. For a detailed
description of the package&#039;s contents have a look at the <a href="guides/overview/index.html">Overview</a>
page.</p>
description of the package&#039;s contents have a look at the <a href="guides/overview/index.html">Overview</a> page.</p>
<div class="toc">
<ul class="phpdocumentor-list">
<li class="toc-item"><a href="guides/usage/requirements.html#requirements">Requirements</a> <ul class="section-level-1">
<li class="toc-item"><a href="guides/usage/requirements.html#environment">Environment</a></li>
<li class="toc-item">
<a href="guides/usage/requirements.html#requirements">Requirements</a>
<li class="toc-item"><a href="guides/usage/requirements.html#dependencies">Dependencies</a></li>
<ul class="section-level-1">
<li class="toc-item">
<a href="guides/usage/requirements.html#environment">Environment</a>
</ul></li>
<li class="toc-item"><a href="guides/usage/installation.html#installation">Installation</a> <ul class="section-level-1">
<li class="toc-item"><a href="guides/usage/installation.html#composer">Composer</a></li>
</li>
<li class="toc-item"><a href="guides/usage/installation.html#git">Git</a></li>
<li class="toc-item">
<a href="guides/usage/requirements.html#dependencies">Dependencies</a>
<li class="toc-item"><a href="guides/usage/installation.html#download">Download</a></li>
</ul></li>
</li>
</ul>
</li>
<li class="toc-item">
<a href="guides/usage/installation.html#installation">Installation</a>
<ul class="section-level-1">
<li class="toc-item">
<a href="guides/usage/installation.html#composer">Composer</a>
</li>
<li class="toc-item">
<a href="guides/usage/installation.html#git">Git</a>
</li>
<li class="toc-item">
<a href="guides/usage/installation.html#download">Download</a>
</li>
</ul>
</li>
</ul>
</div>
@ -211,7 +241,7 @@ description of the package&#039;s contents have a look at the <a href="guides/ov
</section>
</section>
</div>
<a href="guides/usage/index.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
<a href="#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
</main>

View File

@ -173,48 +173,87 @@
<div class="admonition-wrapper">
<div class="admonition admonition-sidebar"><p class="sidebar-title">Table of Contents</p>
<div class="contents"><ul class="phpdocumentor-list"><li class="toc-item"><a href="guides/usage/installation.html#composer">Composer</a></li><li class="toc-item"><a href="guides/usage/installation.html#git">Git</a></li><li class="toc-item"><a href="guides/usage/installation.html#download">Download</a></li></ul></div>
<div class="contents">
<ul class="phpdocumentor-list">
<li class="toc-item">
<a href="guides/usage/installation.html#composer">Composer</a>
</li>
<li class="toc-item">
<a href="guides/usage/installation.html#git">Git</a>
</li>
<li class="toc-item">
<a href="guides/usage/installation.html#download">Download</a>
</li>
</ul>
</div>
</div>
</div>
<div class="section" id="composer">
<h2>Composer</h2>
<p>The intended and recommended way of re-using this package is via <a href="https://getcomposer.org/">Composer</a>. The following
<p>The intended and recommended way of using this package is via <a href="https://getcomposer.org/">Composer</a>. The following
command will get you the latest version and make it a dependency of your project. It will also register all classes and
traits with the autoloader to make them available inside the application.</p>
<pre><code class="language-shell"># This will install the latest stable version suitable for your project
composer require &quot;opencultureconsulting/basics&quot;</code></pre>
<p>If you want to use a specific version other than the latest available for your environment, you can do so by appending
the desired version constraint:</p>
<pre><code class="language-shell"># This will install the latest patch level version of 2.0 (i. e. &gt;=2.0.0 &amp;&amp; &lt;2.1.0)
composer require &quot;opencultureconsulting/basics:~2.0&quot;</code></pre>
<p>All available versions as well as further information about <a href="guides/usage/requirements.html">Requirements</a>
and dependencies can be found on
<pre><code class="language-shell"># This will install the latest patch level version of 2.1 (i. e. &gt;=2.1.0 &amp;&amp; &lt;2.2.0)
composer require &quot;opencultureconsulting/basics:~2.1&quot;</code></pre>
<p>All available versions as well as further information about <a href="guides/usage/requirements.html">Requirements</a> and dependencies can be found on
<a href="https://packagist.org/packages/opencultureconsulting/basics">Packagist</a>.</p>
</div>
<div class="section" id="git">
<h2>Git</h2>
<p>Alternatively, you can fetch the files from <a href="https://github.com/opencultureconsulting/php-basics">GitHub</a> and add
them to your project manually. The best way is by cloning the repository, because then you can easily update to a newer
version by just pulling the changes and checking out a different version tag.</p>
<pre><code class="language-shell"># This will clone the repository into the &quot;basics&quot; directory
git clone https://github.com/opencultureconsulting/php-basics.git basics</code></pre>
<p>If you want to use a specific version other than the latest development state, you have to specify the desired tag as
well:</p>
<pre><code class="language-shell"># This will clone the repository state at version &quot;2.0.0&quot; into the &quot;basics&quot; directory
git clone --branch=v2.0.0 https://github.com/opencultureconsulting/php-basics.git basics</code></pre>
<pre><code class="language-shell"># This will clone the repository state at version &quot;2.1.0&quot; into the &quot;basics&quot; directory
git clone --branch=v2.1.0 https://github.com/opencultureconsulting/php-basics.git basics</code></pre>
<p>Be aware that you also need to make the classes and traits available in your application by either adding them to your
autoloader or by including all files individually in PHP.</p>
</div>
<div class="section" id="download">
<h2>Download</h2>
<p>As a last resort you can also just download the files. You can find all available versions as well as the current
development state on the <a href="https://github.com/opencultureconsulting/php-basics/releases">GitHub release page</a>.</p>
</div>
</div>
@ -232,7 +271,7 @@ development state on the <a href="https://github.com/opencultureconsulting/php-b
</section>
</section>
</div>
<a href="guides/usage/installation.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
<a href="#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
</main>

View File

@ -174,16 +174,23 @@
<div class="section" id="environment">
<h2>Environment</h2>
<p>This package requires at least <strong>PHP 8.1</strong>.</p>
<p>This package requires at least <strong>PHP 8.1</strong>
.</p>
<p>It is highly recommended to use <a href="https://getcomposer.org/">Composer</a> for dependency management and autoloading,
although it is technically not strictly required for re-using any of these classes and traits. But it certainly
makes it a lot easier!</p>
although it is technically not strictly required for using any of these classes and traits. But it certainly makes it a
lot easier!</p>
</div>
<div class="section" id="dependencies">
<h2>Dependencies</h2>
<p>This package does not have any external dependencies.</p>
</div>
</div>
@ -201,7 +208,7 @@ makes it a lot easier!</p>
</section>
</section>
</div>
<a href="guides/usage/requirements.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
<a href="#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
</main>

View File

@ -35,6 +35,8 @@ use function error_reporting;
*
* > Usage: `set_error_handler(new ThrowErrorException());`
*
* @api
*
* @author Sebastian Meyer <sebastian.meyer@opencultureconsulting.com>
* @package Basics\ErrorHandlers
*/

View File

@ -36,6 +36,8 @@ use function trigger_error;
*
* > Usage: `set_exception_handler(new TriggerExceptionError());`
*
* @api
*
* @author Sebastian Meyer <sebastian.meyer@opencultureconsulting.com>
* @package Basics\ErrorHandlers
*/