From 5d41b3c76a9a34f724604b399252ae274c27efc0 Mon Sep 17 00:00:00 2001 From: Sebastian Meyer Date: Mon, 12 Feb 2024 17:21:57 +0100 Subject: [PATCH] Update API documentation --- .phpdoc/guide/changelog/index.rst | 9 + .phpdoc/guide/changelog/v1.0.0.rst | 0 .phpdoc/guide/changelog/v1.0.1.rst | 0 .phpdoc/guide/changelog/v1.1.0.rst | 0 .phpdoc/guide/index.rst | 1 + .../OCC-Basics-DataStructures-Collection.html | 1073 ++++++ ...asics-DataStructures-StrictCollection.html | 1869 +++++++++++ .../OCC-Basics-DataStructures-StrictList.html | 2798 ++++++++++++++++ ...OCC-Basics-DataStructures-StrictQueue.html | 2929 +++++++++++++++++ ...OCC-Basics-DataStructures-StrictStack.html | 2929 +++++++++++++++++ ...ics-ErrorHandlers-ThrowErrorException.html | 494 +++ ...s-ErrorHandlers-TriggerExceptionError.html | 442 +++ ...sics-InterfaceTraits-ArrayAccessTrait.html | 621 ++++ ...Basics-InterfaceTraits-CountableTrait.html | 427 +++ ...nterfaceTraits-IteratorAggregateTrait.html | 427 +++ ...-Basics-InterfaceTraits-IteratorTrait.html | 658 ++++ ...CC-Basics-Interfaces-ArrayAccessTrait.html | 621 ++++ .../OCC-Basics-Interfaces-CountableTrait.html | 427 +++ ...ics-Interfaces-IteratorAggregateTrait.html | 427 +++ .../OCC-Basics-Interfaces-IteratorTrait.html | 658 ++++ doc/classes/OCC-Basics-Traits-Getter.html | 514 +++ .../OCC-Basics-Traits-OverloadingGetter.html | 493 +++ .../OCC-Basics-Traits-OverloadingSetter.html | 486 +++ doc/classes/OCC-Basics-Traits-Setter.html | 507 +++ doc/classes/OCC-Basics-Traits-Singleton.html | 551 ++++ doc/css/base.css | 1231 +++++++ doc/css/normalize.css | 427 +++ doc/css/template.css | 283 ++ doc/files/src-datastructures-collection.html | 332 ++ .../src-datastructures-strictcollection.html | 336 ++ doc/files/src-datastructures-strictlist.html | 336 ++ doc/files/src-datastructures-strictqueue.html | 336 ++ doc/files/src-datastructures-strictstack.html | 336 ++ ...src-errorhandlers-throwerrorexception.html | 336 ++ ...c-errorhandlers-triggerexceptionerror.html | 336 ++ .../src-interfaces-arrayaccesstrait.html | 336 ++ doc/files/src-interfaces-countabletrait.html | 336 ++ ...src-interfaces-iteratoraggregatetrait.html | 336 ++ doc/files/src-interfaces-iteratortrait.html | 336 ++ .../src-interfacetraits-arrayaccesstrait.html | 336 ++ .../src-interfacetraits-countabletrait.html | 336 ++ ...nterfacetraits-iteratoraggregatetrait.html | 336 ++ .../src-interfacetraits-iteratortrait.html | 336 ++ doc/files/src-traits-getter.html | 336 ++ doc/files/src-traits-overloadinggetter.html | 336 ++ doc/files/src-traits-overloadingsetter.html | 336 ++ doc/files/src-traits-setter.html | 336 ++ doc/files/src-traits-singleton.html | 336 ++ .../src/DataStructures/Collection.php.txt | 195 ++ .../DataStructures/StrictCollection.php.txt | 427 +++ .../src/DataStructures/StrictList.php.txt | 752 +++++ .../src/DataStructures/StrictQueue.php.txt | 149 + .../src/DataStructures/StrictStack.php.txt | 149 + .../ErrorHandlers/ThrowErrorException.php.txt | 64 + .../TriggerExceptionError.php.txt | 59 + .../InterfaceTraits/ArrayAccessTrait.php.txt | 113 + .../InterfaceTraits/CountableTrait.php.txt | 64 + .../IteratorAggregateTrait.php.txt | 65 + .../src/InterfaceTraits/IteratorTrait.php.txt | 128 + .../src/Interfaces/ArrayAccessTrait.php.txt | 113 + .../src/Interfaces/CountableTrait.php.txt | 64 + .../Interfaces/IteratorAggregateTrait.php.txt | 65 + .../src/Interfaces/IteratorTrait.php.txt | 128 + doc/files/src/Traits/Getter.php.txt | 88 + .../src/Traits/OverloadingGetter.php.txt | 72 + .../src/Traits/OverloadingSetter.php.txt | 72 + doc/files/src/Traits/Setter.php.txt | 85 + doc/files/src/Traits/Singleton.php.txt | 91 + doc/graphs/classes.html | 168 + doc/guides/changelog/index.html | 180 + doc/guides/index.html | 177 + doc/guides/installation/index.html | 188 ++ doc/guides/installation/test.html | 195 ++ doc/index.html | 213 ++ doc/indices/files.html | 209 ++ doc/js/search.js | 173 + doc/js/searchIndex.js | 529 +++ doc/js/template.js | 17 + doc/namespaces/default.html | 316 ++ doc/namespaces/occ-basics-datastructures.html | 318 ++ doc/namespaces/occ-basics-errorhandlers.html | 318 ++ doc/namespaces/occ-basics-interfaces.html | 318 ++ .../occ-basics-interfacetraits.html | 318 ++ doc/namespaces/occ-basics-traits.html | 318 ++ doc/namespaces/occ-basics.html | 320 ++ doc/namespaces/occ.html | 316 ++ doc/packages/Basics-DataStructures.html | 317 ++ doc/packages/Basics-ErrorHandlers.html | 317 ++ doc/packages/Basics-InterfaceTraits.html | 317 ++ doc/packages/Basics-Interfaces.html | 317 ++ doc/packages/Basics-Traits.html | 317 ++ doc/packages/Basics.html | 319 ++ doc/packages/default.html | 316 ++ doc/reports/deprecated.html | 184 ++ doc/reports/errors.html | 183 + doc/reports/markers.html | 184 ++ 96 files changed, 38323 insertions(+) create mode 100644 .phpdoc/guide/changelog/index.rst create mode 100644 .phpdoc/guide/changelog/v1.0.0.rst create mode 100644 .phpdoc/guide/changelog/v1.0.1.rst create mode 100644 .phpdoc/guide/changelog/v1.1.0.rst create mode 100644 doc/classes/OCC-Basics-DataStructures-Collection.html create mode 100644 doc/classes/OCC-Basics-DataStructures-StrictCollection.html create mode 100644 doc/classes/OCC-Basics-DataStructures-StrictList.html create mode 100644 doc/classes/OCC-Basics-DataStructures-StrictQueue.html create mode 100644 doc/classes/OCC-Basics-DataStructures-StrictStack.html create mode 100644 doc/classes/OCC-Basics-ErrorHandlers-ThrowErrorException.html create mode 100644 doc/classes/OCC-Basics-ErrorHandlers-TriggerExceptionError.html create mode 100644 doc/classes/OCC-Basics-InterfaceTraits-ArrayAccessTrait.html create mode 100644 doc/classes/OCC-Basics-InterfaceTraits-CountableTrait.html create mode 100644 doc/classes/OCC-Basics-InterfaceTraits-IteratorAggregateTrait.html create mode 100644 doc/classes/OCC-Basics-InterfaceTraits-IteratorTrait.html create mode 100644 doc/classes/OCC-Basics-Interfaces-ArrayAccessTrait.html create mode 100644 doc/classes/OCC-Basics-Interfaces-CountableTrait.html create mode 100644 doc/classes/OCC-Basics-Interfaces-IteratorAggregateTrait.html create mode 100644 doc/classes/OCC-Basics-Interfaces-IteratorTrait.html create mode 100644 doc/classes/OCC-Basics-Traits-Getter.html create mode 100644 doc/classes/OCC-Basics-Traits-OverloadingGetter.html create mode 100644 doc/classes/OCC-Basics-Traits-OverloadingSetter.html create mode 100644 doc/classes/OCC-Basics-Traits-Setter.html create mode 100644 doc/classes/OCC-Basics-Traits-Singleton.html create mode 100644 doc/css/base.css create mode 100644 doc/css/normalize.css create mode 100644 doc/css/template.css create mode 100644 doc/files/src-datastructures-collection.html create mode 100644 doc/files/src-datastructures-strictcollection.html create mode 100644 doc/files/src-datastructures-strictlist.html create mode 100644 doc/files/src-datastructures-strictqueue.html create mode 100644 doc/files/src-datastructures-strictstack.html create mode 100644 doc/files/src-errorhandlers-throwerrorexception.html create mode 100644 doc/files/src-errorhandlers-triggerexceptionerror.html create mode 100644 doc/files/src-interfaces-arrayaccesstrait.html create mode 100644 doc/files/src-interfaces-countabletrait.html create mode 100644 doc/files/src-interfaces-iteratoraggregatetrait.html create mode 100644 doc/files/src-interfaces-iteratortrait.html create mode 100644 doc/files/src-interfacetraits-arrayaccesstrait.html create mode 100644 doc/files/src-interfacetraits-countabletrait.html create mode 100644 doc/files/src-interfacetraits-iteratoraggregatetrait.html create mode 100644 doc/files/src-interfacetraits-iteratortrait.html create mode 100644 doc/files/src-traits-getter.html create mode 100644 doc/files/src-traits-overloadinggetter.html create mode 100644 doc/files/src-traits-overloadingsetter.html create mode 100644 doc/files/src-traits-setter.html create mode 100644 doc/files/src-traits-singleton.html create mode 100644 doc/files/src/DataStructures/Collection.php.txt create mode 100644 doc/files/src/DataStructures/StrictCollection.php.txt create mode 100644 doc/files/src/DataStructures/StrictList.php.txt create mode 100644 doc/files/src/DataStructures/StrictQueue.php.txt create mode 100644 doc/files/src/DataStructures/StrictStack.php.txt create mode 100644 doc/files/src/ErrorHandlers/ThrowErrorException.php.txt create mode 100644 doc/files/src/ErrorHandlers/TriggerExceptionError.php.txt create mode 100644 doc/files/src/InterfaceTraits/ArrayAccessTrait.php.txt create mode 100644 doc/files/src/InterfaceTraits/CountableTrait.php.txt create mode 100644 doc/files/src/InterfaceTraits/IteratorAggregateTrait.php.txt create mode 100644 doc/files/src/InterfaceTraits/IteratorTrait.php.txt create mode 100644 doc/files/src/Interfaces/ArrayAccessTrait.php.txt create mode 100644 doc/files/src/Interfaces/CountableTrait.php.txt create mode 100644 doc/files/src/Interfaces/IteratorAggregateTrait.php.txt create mode 100644 doc/files/src/Interfaces/IteratorTrait.php.txt create mode 100644 doc/files/src/Traits/Getter.php.txt create mode 100644 doc/files/src/Traits/OverloadingGetter.php.txt create mode 100644 doc/files/src/Traits/OverloadingSetter.php.txt create mode 100644 doc/files/src/Traits/Setter.php.txt create mode 100644 doc/files/src/Traits/Singleton.php.txt create mode 100644 doc/graphs/classes.html create mode 100644 doc/guides/changelog/index.html create mode 100644 doc/guides/index.html create mode 100644 doc/guides/installation/index.html create mode 100644 doc/guides/installation/test.html create mode 100644 doc/index.html create mode 100644 doc/indices/files.html create mode 100644 doc/js/search.js create mode 100644 doc/js/searchIndex.js create mode 100644 doc/js/template.js create mode 100644 doc/namespaces/default.html create mode 100644 doc/namespaces/occ-basics-datastructures.html create mode 100644 doc/namespaces/occ-basics-errorhandlers.html create mode 100644 doc/namespaces/occ-basics-interfaces.html create mode 100644 doc/namespaces/occ-basics-interfacetraits.html create mode 100644 doc/namespaces/occ-basics-traits.html create mode 100644 doc/namespaces/occ-basics.html create mode 100644 doc/namespaces/occ.html create mode 100644 doc/packages/Basics-DataStructures.html create mode 100644 doc/packages/Basics-ErrorHandlers.html create mode 100644 doc/packages/Basics-InterfaceTraits.html create mode 100644 doc/packages/Basics-Interfaces.html create mode 100644 doc/packages/Basics-Traits.html create mode 100644 doc/packages/Basics.html create mode 100644 doc/packages/default.html create mode 100644 doc/reports/deprecated.html create mode 100644 doc/reports/errors.html create mode 100644 doc/reports/markers.html diff --git a/.phpdoc/guide/changelog/index.rst b/.phpdoc/guide/changelog/index.rst new file mode 100644 index 0000000..e78d19f --- /dev/null +++ b/.phpdoc/guide/changelog/index.rst @@ -0,0 +1,9 @@ +Changelog +######### + +.. toctree:: + :maxdepth: 3 + + v1.0.0 + v1.0.1 + v1.1.0 diff --git a/.phpdoc/guide/changelog/v1.0.0.rst b/.phpdoc/guide/changelog/v1.0.0.rst new file mode 100644 index 0000000..e69de29 diff --git a/.phpdoc/guide/changelog/v1.0.1.rst b/.phpdoc/guide/changelog/v1.0.1.rst new file mode 100644 index 0000000..e69de29 diff --git a/.phpdoc/guide/changelog/v1.1.0.rst b/.phpdoc/guide/changelog/v1.1.0.rst new file mode 100644 index 0000000..e69de29 diff --git a/.phpdoc/guide/index.rst b/.phpdoc/guide/index.rst index 7d339b5..2443b1b 100644 --- a/.phpdoc/guide/index.rst +++ b/.phpdoc/guide/index.rst @@ -9,3 +9,4 @@ Documentation :titlesonly: installation/index + changelog/index diff --git a/doc/classes/OCC-Basics-DataStructures-Collection.html b/doc/classes/OCC-Basics-DataStructures-Collection.html new file mode 100644 index 0000000..aec9d8d --- /dev/null +++ b/doc/classes/OCC-Basics-DataStructures-Collection.html @@ -0,0 +1,1073 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
+

PHP Basics

+ + + + + + +
+ +
+
+ + + + +
+
+ + +
+

+ Collection + + +
+ in package + +
+ + + implements + ArrayAccess, Countable, IteratorAggregate + + + Uses + ArrayAccessTrait, CountableTrait, IteratorAggregateTrait +

+ +
+ + +
+ + + +

A generic collection of items.

+ + + +
+ Tags + + +
+
+
+ author +
+
+ +

Sebastian Meyer sebastian.meyer@opencultureconsulting.com

+
+ +
+
+ template +
+
+ +

Item of mixed

+
+ +
+
+ + + +

+ Table of Contents + + +

+ + + +

+ Interfaces + + +

+
+
ArrayAccess
Countable
IteratorAggregate
+ + + + + + +

+ Properties + + +

+
+
+ $data + +  : array<string|int, TValue> +
+
Holds the iterable data.
+ +
+ +

+ Methods + + +

+
+
+ __construct() + +  : void +
+
Create a collection of items.
+ +
+ __get() + +  : Item|null +
+
Magic method to read collection items as properties.
+ +
+ __set() + +  : void +
+
Magic method to write collection items as properties.
+ +
+ add() + +  : void +
+
Add an item to the collection.
+ +
+ clear() + +  : void +
+
Clear the collection of any items.
+ +
+ copy() + +  : Collection<string|int, Item> +
+
Get a new collection with the same set of items.
+ +
+ get() + +  : Item|null +
+
Get the item at the specified index.
+ +
+ isEmpty() + +  : bool +
+
Check if collection is empty.
+ +
+ remove() + +  : void +
+
Remove an item from the collection.
+ +
+ set() + +  : void +
+
Set the item at the specified index.
+ +
+ toArray() + +  : array<string|int, Item> +
+
Return array representation of collection.
+ +
+ + + + + + + +
+

+ Properties + + +

+
+

+ $data + + + + +

+ + +

Holds the iterable data.

+ + + protected + array<string|int, TValue> + $data + = [] + + + + + +
+
+ +
+

+ Methods + + +

+
+

+ __construct() + + +

+ + +

Create a collection of items.

+ + + public + __construct([array<string|int, Item$items = [] ]) : void + +
+
+ +
Parameters
+
+
+ $items + : array<string|int, Item> + = []
+
+

Initial set of items

+
+ +
+
+ + + + +
+
+

+ __get() + + +

+ + +

Magic method to read collection items as properties.

+ + + public + __get(string|int $key) : Item|null + +
+
+ +
Parameters
+
+
+ $key + : string|int +
+
+

The item's index

+
+ +
+
+ + + +
+
Return values
+ Item|null + — +

The item or NULL if key is invalid

+
+ +
+ +
+
+

+ __set() + + +

+ + +

Magic method to write collection items as properties.

+ + + public + __set(string|int $key, Item $item) : void + +
+
+ +
Parameters
+
+
+ $key + : string|int +
+
+

The new item's index

+
+ +
+
+ $item + : Item +
+
+

The new item

+
+ +
+
+ + + + +
+
+

+ add() + + +

+ + +

Add an item to the collection.

+ + + public + add(Item $item) : void + +
+
APIYes
+ +
+ +
Parameters
+
+
+ $item + : Item +
+
+

The new item

+
+ +
+
+ + + + +
+
+

+ clear() + + +

+ + +

Clear the collection of any items.

+ + + public + clear() : void + +
+
APIYes
+ +
+ + + + + +
+
+

+ copy() + + +

+ + +

Get a new collection with the same set of items.

+ + + public + copy() : Collection<string|int, Item> + +
+
APIYes
+ +
+ + + + +
+
Return values
+ Collection<string|int, Item> + — +

The new collection with the same items

+
+ +
+ +
+
+

+ get() + + +

+ + +

Get the item at the specified index.

+ + + public + get(string|int $key) : Item|null + +
+
APIYes
+ +
+ +
Parameters
+
+
+ $key + : string|int +
+
+

The item's index

+
+ +
+
+ + + +
+
Return values
+ Item|null + — +

The item or NULL if key is invalid

+
+ +
+ +
+
+

+ isEmpty() + + +

+ + +

Check if collection is empty.

+ + + public + isEmpty() : bool + +
+
APIYes
+ +
+ + + + +
+
Return values
+ bool + — +

Whether the collection contains any items

+
+ +
+ +
+
+

+ remove() + + +

+ + +

Remove an item from the collection.

+ + + public + remove(string|int $key) : void + +
+
APIYes
+ +
+ +
Parameters
+
+
+ $key + : string|int +
+
+

The item's key

+
+ +
+
+ + + + +
+
+

+ set() + + +

+ + +

Set the item at the specified index.

+ + + public + set(string|int $key, Item $item) : void + +
+
APIYes
+ +
+ +
Parameters
+
+
+ $key + : string|int +
+
+

The new item's index

+
+ +
+
+ $item + : Item +
+
+

The new item

+
+ +
+
+ + + + +
+
+

+ toArray() + + +

+ + +

Return array representation of collection.

+ + + public + toArray() : array<string|int, Item> + +
+
APIYes
+ +
+ + + + +
+
Return values
+ array<string|int, Item> + — +

Array of collection items

+
+ +
+ +
+
+ +
+
+
+
+

+        
+ +
+
+ + + +
+
+
+ +
+ On this page + + +
+ +
+
+
+
+
+

Search results

+ +
+
+
    +
    +
    +
    +
    + + +
    + + + + + + + + diff --git a/doc/classes/OCC-Basics-DataStructures-StrictCollection.html b/doc/classes/OCC-Basics-DataStructures-StrictCollection.html new file mode 100644 index 0000000..bac59ef --- /dev/null +++ b/doc/classes/OCC-Basics-DataStructures-StrictCollection.html @@ -0,0 +1,1869 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
    +

    PHP Basics

    + + + + + + +
    + +
    +
    + + + + +
    +
    + + +
    +

    + StrictCollection + + +
    + in package + +
    + + + implements + ArrayAccess, Countable, Serializable + + + Uses + ArrayAccessTrait, CountableTrait, Getter +

    + +
    + + +
    + + + +

    A type-sensitive, unsorted collection.

    + +

    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 +names.

    +

    Internally it holds the items in the protected $_data array.

    +
    + + +
    + Tags + + +
    +
    +
    + author +
    +
    + +

    Sebastian Meyer sebastian.meyer@opencultureconsulting.com

    +
    + +
    +
    + template +
    +
    + +

    AllowedType of mixed

    +
    + +
    +
    + + + +

    + Table of Contents + + +

    + + + +

    + Interfaces + + +

    +
    +
    ArrayAccess
    Countable
    Serializable
    + + + + + + +

    + Properties + + +

    +
    +
    + $allowedTypes + +  : array<string|int, string> +
    + +
    + +

    + Methods + + +

    +
    +
    + __construct() + +  : void +
    +
    Create a type-sensitive collection of items.
    + +
    + __get() + +  : mixed +
    +
    Read data from an inaccessible property.
    + +
    + __isset() + +  : bool +
    +
    Check if an inaccessible property is set and not empty.
    + +
    + add() + +  : void +
    +
    Add/insert a new item at the specified index.
    + +
    + clear() + +  : void +
    +
    Clear the collection of any items.
    + +
    + count() + +  : int<0, max> +
    +
    Count the data items.
    + +
    + get() + +  : AllowedType|null +
    +
    Get the item at the specified index.
    + +
    + getAllowedTypes() + +  : array<string|int, string> +
    +
    Get allowed data types for collection items.
    + +
    + isAllowedType() + +  : bool +
    +
    Check if the item's data type is allowed in the collection.
    + +
    + isEmpty() + +  : bool +
    +
    Check if collection is empty.
    + +
    + isList() + +  : bool +
    +
    Check if this collection can be considered a list.
    + +
    + offsetExists() + +  : bool +
    +
    Check if the specified offset exists.
    + +
    + offsetGet() + +  : TValue|null +
    +
    Retrieve data at the specified offset.
    + +
    + offsetSet() + +  : void +
    +
    Set the item at the specified offset.
    + +
    + offsetUnset() + +  : void +
    +
    Unset the specified offset.
    + +
    + remove() + +  : void +
    +
    Remove an item from the collection.
    + +
    + serialize() + +  : string +
    +
    Get string representation of $this.
    + +
    + set() + +  : void +
    +
    Set an item at the specified index.
    + +
    + toArray() + +  : array<string|int, AllowedType> +
    +
    Return array representation of collection.
    + +
    + toStrictList() + +  : StrictList<string|int, AllowedType> +
    +
    Turn collection into a type-sensitive list.
    + +
    + unserialize() + +  : void +
    +
    Restore $this from string representation.
    + +
    + setAllowedTypes() + +  : void +
    +
    Set allowed data types of collection items.
    + +
    + + + + + + + +
    +

    + Properties + + +

    +
    +

    + $allowedTypes + + + + read-only +

    + + + + + public + array<string|int, string> + $allowedTypes + + +

    The allowed data types for items.

    +
    + + + + +
    +
    + +
    +

    + Methods + + +

    +
    +

    + __construct() + + +

    + + +

    Create a type-sensitive collection of items.

    + + + public + __construct([array<string|int, string> $allowedTypes = [] ]) : void + +
    +
    + +
    Parameters
    +
    +
    + $allowedTypes + : array<string|int, string> + = []
    +
    +

    Allowed data types of items (optional)

    +

    If empty, all types are allowed. +Possible values are:

    +
      +
    • "array"
    • +
    • "bool"
    • +
    • "callable"
    • +
    • "countable"
    • +
    • "float" or "double"
    • +
    • "int" or "integer" or "long"
    • +
    • "iterable"
    • +
    • "null"
    • +
    • "numeric"
    • +
    • "object" or FQCN
    • +
    • "resource"
    • +
    • "scalar"
    • +
    • "string"
    • +
    +
    + +
    +
    + + +
    + Tags + + +
    +
    +
    + throws +
    +
    + InvalidArgumentException + +

    if any value of $allowedTypes is not a string

    +
    + +
    +
    + + +
    +
    +

    + __get() + + +

    + + +

    Read data from an inaccessible property.

    + + + public + __get(string $property) : mixed + +
    +
    + +
    Parameters
    +
    +
    + $property + : string +
    +
    +

    The class property to get

    +
    + +
    +
    + + +
    + Tags + + +
    +
    +
    + throws +
    +
    + InvalidArgumentException + +

    if the property or getter method do not exist

    +
    + +
    +
    + +
    +
    Return values
    + mixed + — +

    The class property's current value

    +
    + +
    + +
    +
    +

    + __isset() + + +

    + + +

    Check if an inaccessible property is set and not empty.

    + + + public + __isset(string $property) : bool + +
    +
    + +
    Parameters
    +
    +
    + $property + : string +
    +
    +

    The class property to check

    +
    + +
    +
    + + + +
    +
    Return values
    + bool + — +

    Whether the class property is set and not empty

    +
    + +
    + +
    +
    +

    + add() + + +

    + + +

    Add/insert a new item at the specified index.

    + + + public + add(string|int $offset, AllowedType $value) : void + +
    +
    APIYes
    + +
    + +
    Parameters
    +
    +
    + $offset + : string|int +
    +
    +

    The new item's index

    +
    + +
    +
    + $value + : AllowedType +
    +
    +

    The new item

    +
    + +
    +
    + + +
    + Tags + + +
    +
    +
    + throws +
    +
    + InvalidArgumentException + +

    if $offset is not of allowed type

    +
    + +
    +
    + + +
    +
    +

    + clear() + + +

    + + +

    Clear the collection of any items.

    + + + public + clear() : void + +
    +
    APIYes
    + +
    + + + + + +
    +
    +

    + count() + + +

    + + +

    Count the data items.

    + + + public + count() : int<0, max> + +
    +
    APIYes
    + +
    + + + + +
    +
    Return values
    + int<0, max> + — +

    The number of data items

    +
    + +
    + +
    +
    +

    + get() + + +

    + + +

    Get the item at the specified index.

    + + + public + get(string|int $offset) : AllowedType|null + +
    +
    APIYes
    + +
    + +
    Parameters
    +
    +
    + $offset + : string|int +
    +
    +

    The item's index

    +
    + +
    +
    + + + +
    +
    Return values
    + AllowedType|null + — +

    The item or NULL if key is invalid

    +
    + +
    + +
    +
    +

    + getAllowedTypes() + + +

    + + +

    Get allowed data types for collection items.

    + + + public + getAllowedTypes() : array<string|int, string> + +
    +
    APIYes
    + +
    + + + + +
    +
    Return values
    + array<string|int, string> + — +

    The list of allowed data types

    +
    + +
    + +
    +
    +

    + isAllowedType() + + +

    + + +

    Check if the item's data type is allowed in the collection.

    + + + public + isAllowedType(AllowedType $value) : bool + +
    +
    APIYes
    + +
    + +
    Parameters
    +
    +
    + $value + : AllowedType +
    +
    +

    The item to check

    +
    + +
    +
    + + + +
    +
    Return values
    + bool + — +

    Whether the item's data type is allowed

    +
    + +
    + +
    +
    +

    + isEmpty() + + +

    + + +

    Check if collection is empty.

    + + + public + isEmpty() : bool + +
    +
    APIYes
    + +
    + + + + +
    +
    Return values
    + bool + — +

    Whether the collection contains no items

    +
    + +
    + +
    +
    +

    + isList() + + +

    + + +

    Check if this collection can be considered a list.

    + + + public + isList() : bool + +
    +
    APIYes
    + +
    +

    It is considered a list if all keys are consecutive integers starting +from 0.

    +
    + + + +
    + Tags + + +
    +
    +
    + see +
    +
    + StrictCollection::toStrictList() + + +
    +
    + +
    +
    Return values
    + bool + — +

    Whether the collection is a list

    +
    + +
    + +
    +
    +

    + offsetExists() + + +

    + + +

    Check if the specified offset exists.

    + + + public + offsetExists(string|int $offset) : bool + +
    +
    APIYes
    + +
    + +
    Parameters
    +
    +
    + $offset + : string|int +
    +
    +

    The offset to check for

    +
    + +
    +
    + + + +
    +
    Return values
    + bool + — +

    Whether the offset exists

    +
    + +
    + +
    +
    +

    + offsetGet() + + +

    + + +

    Retrieve data at the specified offset.

    + + + public + offsetGet(string|int $offset) : TValue|null + +
    +
    APIYes
    + +
    + +
    Parameters
    +
    +
    + $offset + : string|int +
    +
    +

    The offset to retrieve

    +
    + +
    +
    + + + +
    +
    Return values
    + TValue|null + — +

    The value at the offset or NULL if invalid

    +
    + +
    + +
    +
    +

    + offsetSet() + + +

    + + +

    Set the item at the specified offset.

    + + + public + offsetSet(string|int|null $offset, AllowedType $value) : void + +
    +
    APIYes
    + +
    + +
    Parameters
    +
    +
    + $offset + : string|int|null +
    +
    +

    The offset being set

    +
    + +
    +
    + $value + : AllowedType +
    +
    +

    The new item for the offset

    +
    + +
    +
    + + +
    + Tags + + +
    +
    +
    + throws +
    +
    + InvalidArgumentException + +

    if $offset or $value is not of allowed type

    +
    + +
    +
    + + +
    +
    +

    + offsetUnset() + + +

    + + +

    Unset the specified offset.

    + + + public + offsetUnset(string|int $offset) : void + +
    +
    APIYes
    + +
    + +
    Parameters
    +
    +
    + $offset + : string|int +
    +
    +

    The offset to unset

    +
    + +
    +
    + + + + +
    +
    +

    + remove() + + +

    + + +

    Remove an item from the collection.

    + + + public + remove(string|int $offset) : void + +
    +
    APIYes
    + +
    + +
    Parameters
    +
    +
    + $offset + : string|int +
    +
    +

    The item's key

    +
    + +
    +
    + + + + +
    +
    +

    + serialize() + + +

    + + +

    Get string representation of $this.

    + + + public + serialize() : string + +
    +
    + + + + +
    +
    Return values
    + string + — +

    The string representation

    +
    + +
    + +
    +
    +

    + set() + + +

    + + +

    Set an item at the specified index.

    + + + public + set(string|int $offset, AllowedType $value) : void + +
    +
    APIYes
    + +
    + +
    Parameters
    +
    +
    + $offset + : string|int +
    +
    +

    The item's index

    +
    + +
    +
    + $value + : AllowedType +
    +
    +

    The item

    +
    + +
    +
    + + +
    + Tags + + +
    +
    +
    + throws +
    +
    + InvalidArgumentException + +

    if $value is not of allowed type

    +
    + +
    +
    + + +
    +
    +

    + toArray() + + +

    + + +

    Return array representation of collection.

    + + + public + toArray() : array<string|int, AllowedType> + +
    +
    APIYes
    + +
    + + + + +
    +
    Return values
    + array<string|int, AllowedType> + — +

    Array of collection items

    +
    + +
    + +
    +
    +

    + toStrictList() + + +

    + + +

    Turn collection into a type-sensitive list.

    + + + public + toStrictList() : StrictList<string|int, AllowedType> + +
    +
    APIYes
    + +
    + + + +
    + Tags + + +
    +
    +
    + throws +
    +
    + DomainException + +

    if the collection is not a list

    +
    + +
    +
    + see +
    +
    + StrictCollection::isList() + + +
    +
    + +
    +
    Return values
    + StrictList<string|int, AllowedType> + — +

    A type-sensitive list of the collection's items

    +
    + +
    + +
    +
    +

    + unserialize() + + +

    + + +

    Restore $this from string representation.

    + + + public + unserialize(string $data) : void + +
    +
    + +
    Parameters
    +
    +
    + $data + : string +
    +
    +

    The string representation

    +
    + +
    +
    + + + + +
    +
    +

    + setAllowedTypes() + + +

    + + +

    Set allowed data types of collection items.

    + + + protected + setAllowedTypes([array<string|int, string> $allowedTypes = [] ]) : void + +
    +
    + +
    Parameters
    +
    +
    + $allowedTypes + : array<string|int, string> + = []
    +
    +

    Allowed data types of items

    +
    + +
    +
    + + +
    + Tags + + +
    +
    +
    + throws +
    +
    + InvalidArgumentException + +

    if any value of $allowedTypes is not a string

    +
    + +
    +
    + + +
    +
    + +
    +
    +
    +
    +
    
    +        
    + +
    +
    + + + +
    +
    +
    + +
    + On this page + + +
    + +
    +
    +
    +
    +
    +

    Search results

    + +
    +
    +
      +
      +
      +
      +
      + + +
      + + + + + + + + diff --git a/doc/classes/OCC-Basics-DataStructures-StrictList.html b/doc/classes/OCC-Basics-DataStructures-StrictList.html new file mode 100644 index 0000000..203610a --- /dev/null +++ b/doc/classes/OCC-Basics-DataStructures-StrictList.html @@ -0,0 +1,2798 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
      +

      PHP Basics

      + + + + + + +
      + +
      +
      + + + + +
      +
      + + +
      +

      + StrictList + + + extends SplDoublyLinkedList + + +
      + in package + +
      + + + implements + ArrayAccess, Countable, Iterator, Serializable + + + Uses + Getter +

      + +
      + + +
      + + + +

      A type-sensitive, taversable list.

      + +

      Extends \SplDoublyLinkedList 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.

      +
      + + +
      + Tags + + +
      +
      +
      + author +
      +
      + +

      Sebastian Meyer sebastian.meyer@opencultureconsulting.com

      +
      + +
      +
      + template +
      +
      + +

      AllowedType of mixed

      +
      + +
      +
      + + + +

      + Table of Contents + + +

      + + + +

      + Interfaces + + +

      +
      +
      ArrayAccess
      Countable
      Iterator
      Serializable
      + + + + + + +

      + Properties + + +

      +
      +
      + $allowedTypes + +  : array<string|int, string> +
      + +
      + +

      + Methods + + +

      +
      +
      + __construct() + +  : void +
      +
      Create a type-sensitive, traversable list of items.
      + +
      + __get() + +  : mixed +
      +
      Read data from an inaccessible property.
      + +
      + __isset() + +  : bool +
      +
      Check if an inaccessible property is set and not empty.
      + +
      + add() + +  : void +
      +
      Add/insert a new item at the specified offset.
      + +
      + append() + +  : void +
      +
      Append items at the end of the list.
      + +
      + bottom() + +  : AllowedType +
      +
      Peek at the item at the beginning of the list.
      + +
      + clear() + +  : void +
      +
      Clear the list of any items.
      + +
      + count() + +  : int +
      +
      Get the number of items on the list.
      + +
      + current() + +  : AllowedType +
      +
      Get the current list item.
      + +
      + get() + +  : AllowedType +
      +
      Get the item at the specified index.
      + +
      + getAllowedTypes() + +  : array<string|int, string> +
      +
      Get allowed data types for list items.
      + +
      + getIteratorMode() + +  : int +
      +
      Get the mode of iteration.
      + +
      + isAllowedType() + +  : bool +
      +
      Check if the item's data type is allowed on the list.
      + +
      + isEmpty() + +  : bool +
      +
      Check if list is empty.
      + +
      + isList() + +  : true +
      +
      Check if this can be considered a list.
      + +
      + key() + +  : int +
      +
      Get the current list index.
      + +
      + next() + +  : void +
      +
      Move the cursor to the next list index.
      + +
      + offsetExists() + +  : bool +
      +
      Check if the specified index exists and is not empty.
      + +
      + offsetGet() + +  : AllowedType +
      +
      Get the item from the specified index.
      + +
      + offsetSet() + +  : void +
      +
      Set the item at the specified offset.
      + +
      + offsetUnset() + +  : void +
      +
      Unset the item at the specified index.
      + +
      + pop() + +  : AllowedType +
      +
      Pops an item from the end of the list.
      + +
      + prepend() + +  : void +
      +
      Prepend items at the start of the list.
      + +
      + prev() + +  : void +
      +
      Move the cursor to the previous list index.
      + +
      + push() + +  : void +
      +
      Push an item at the end of the list.
      + +
      + remove() + +  : void +
      +
      Remove an item from the list.
      + +
      + rewind() + +  : void +
      +
      Rewind the iterator's cursor.
      + +
      + set() + +  : void +
      +
      Set an item at the specified index.
      + +
      + setIteratorMode() + +  : int +
      +
      Set the mode of iteration.
      + +
      + shift() + +  : AllowedType +
      +
      Shift an item from the beginning of the list.
      + +
      + toArray() + +  : array<string|int, AllowedType> +
      +
      Return array representation of list.
      + +
      + top() + +  : AllowedType +
      +
      Peek at the item at the end of the list.
      + +
      + toStrictCollection() + +  : StrictCollection<string|int, AllowedType> +
      +
      Turn list into a type-sensitive collection.
      + +
      + unshift() + +  : void +
      +
      Prepend the list with an item.
      + +
      + valid() + +  : bool +
      +
      Check if current cursor position is valid.
      + +
      + setAllowedTypes() + +  : void +
      +
      Set allowed data types of list items.
      + +
      + + + + + + + +
      +

      + Properties + + +

      +
      +

      + $allowedTypes + + + + read-only +

      + + + + + public + array<string|int, string> + $allowedTypes + + +

      The allowed data types for values.

      +
      + + + + +
      +
      + +
      +

      + Methods + + +

      +
      +

      + __construct() + + +

      + + +

      Create a type-sensitive, traversable list of items.

      + + + public + __construct([array<string|int, string> $allowedTypes = [] ]) : void + +
      +
      + +
      Parameters
      +
      +
      + $allowedTypes + : array<string|int, string> + = []
      +
      +

      Allowed data types of items (optional)

      +

      If empty, all types are allowed. +Possible values are:

      +
        +
      • "array"
      • +
      • "bool"
      • +
      • "callable"
      • +
      • "countable"
      • +
      • "float" or "double"
      • +
      • "int" or "integer" or "long"
      • +
      • "iterable"
      • +
      • "null"
      • +
      • "numeric"
      • +
      • "object" or FQCN
      • +
      • "resource"
      • +
      • "scalar"
      • +
      • "string"
      • +
      +
      + +
      +
      + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + InvalidArgumentException + +

      if any value of $allowedTypes is not a string

      +
      + +
      +
      + + +
      +
      +

      + __get() + + +

      + + +

      Read data from an inaccessible property.

      + + + public + __get(string $property) : mixed + +
      +
      + +
      Parameters
      +
      +
      + $property + : string +
      +
      +

      The class property to get

      +
      + +
      +
      + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + InvalidArgumentException + +

      if the property or getter method do not exist

      +
      + +
      +
      + +
      +
      Return values
      + mixed + — +

      The class property's current value

      +
      + +
      + +
      +
      +

      + __isset() + + +

      + + +

      Check if an inaccessible property is set and not empty.

      + + + public + __isset(string $property) : bool + +
      +
      + +
      Parameters
      +
      +
      + $property + : string +
      +
      +

      The class property to check

      +
      + +
      +
      + + + +
      +
      Return values
      + bool + — +

      Whether the class property is set and not empty

      +
      + +
      + +
      +
      +

      + add() + + +

      + + +

      Add/insert a new item at the specified offset.

      + + + public + add(int $offset, AllowedType $value) : void + +
      +
      APIYes
      + +
      + +
      Parameters
      +
      +
      + $offset + : int +
      +
      +

      The offset where the new item is to be inserted

      +
      + +
      +
      + $value + : AllowedType +
      +
      +

      The new item for the offset

      +
      + +
      +
      + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + InvalidArgumentException + +

      if $value is not of allowed type

      +
      + +
      +
      + throws +
      +
      + OutOfRangeException + +

      when $offset is out of bounds

      +
      + +
      +
      + + +
      +
      +

      + append() + + +

      + + +

      Append items at the end of the list.

      + + + public + append(AllowedType ...$values) : void + +
      +
      APIYes
      + +
      + +
      Parameters
      +
      +
      + $values + : AllowedType +
      +
      +

      One or more items to append

      +
      + +
      +
      + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + InvalidArgumentException + +

      if any $values is not of allowed type

      +
      + +
      +
      + + +
      +
      +

      + bottom() + + +

      + + +

      Peek at the item at the beginning of the list.

      + + + public + bottom() : AllowedType + +
      +
      APIYes
      + +
      + + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + RuntimeException + +

      if the list is empty

      +
      + +
      +
      + +
      +
      Return values
      + AllowedType + — +

      The first item of the list

      +
      + +
      + +
      +
      +

      + clear() + + +

      + + +

      Clear the list of any items.

      + + + public + clear() : void + +
      +
      APIYes
      + +
      + + + + + +
      +
      +

      + count() + + +

      + + +

      Get the number of items on the list.

      + + + public + count() : int + +
      +
      APIYes
      + +
      + + + + +
      +
      Return values
      + int + — +

      The number of items on the list

      +
      + +
      + +
      +
      +

      + current() + + +

      + + +

      Get the current list item.

      + + + public + current() : AllowedType + +
      +
      APIYes
      + +
      + + + + +
      +
      Return values
      + AllowedType + — +

      The current item

      +
      + +
      + +
      +
      +

      + get() + + +

      + + +

      Get the item at the specified index.

      + + + public + get(int $offset) : AllowedType + +
      +
      APIYes
      + +
      + +
      Parameters
      +
      +
      + $offset + : int +
      +
      +

      The item's index

      +
      + +
      +
      + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + OutOfRangeException + +

      when $offset is out of bounds

      +
      + +
      +
      + +
      +
      Return values
      + AllowedType + — +

      The item

      +
      + +
      + +
      +
      +

      + getAllowedTypes() + + +

      + + +

      Get allowed data types for list items.

      + + + public + getAllowedTypes() : array<string|int, string> + +
      +
      APIYes
      + +
      + + + + +
      +
      Return values
      + array<string|int, string> + — +

      The list of allowed data types

      +
      + +
      + +
      +
      +

      + getIteratorMode() + + +

      + + +

      Get the mode of iteration.

      + + + public + getIteratorMode() : int + +
      +
      APIYes
      + +
      + + + + +
      +
      Return values
      + int + — +

      The set of flags and modes of iteration

      +
      + +
      + +
      +
      +

      + isAllowedType() + + +

      + + +

      Check if the item's data type is allowed on the list.

      + + + public + isAllowedType(AllowedType $value) : bool + +
      +
      APIYes
      + +
      + +
      Parameters
      +
      +
      + $value + : AllowedType +
      +
      +

      The item to check

      +
      + +
      +
      + + + +
      +
      Return values
      + bool + — +

      Whether the item's data type is allowed

      +
      + +
      + +
      +
      +

      + isEmpty() + + +

      + + +

      Check if list is empty.

      + + + public + isEmpty() : bool + +
      +
      APIYes
      + +
      + + + + +
      +
      Return values
      + bool + — +

      Whether the list contains no items

      +
      + +
      + +
      +
      +

      + isList() + + +

      + + +

      Check if this can be considered a list.

      + + + public + isList() : true + +
      +
      APIYes
      + +
      + + + + +
      +
      Return values
      + true + — +

      Always TRUE (this exists only for compatibility reasons)

      +
      + +
      + +
      +
      +

      + key() + + +

      + + +

      Get the current list index.

      + + + public + key() : int + +
      +
      APIYes
      + +
      + + + + +
      +
      Return values
      + int + — +

      The current list index

      +
      + +
      + +
      +
      +

      + next() + + +

      + + +

      Move the cursor to the next list index.

      + + + public + next() : void + +
      +
      APIYes
      + +
      + + + + + +
      +
      +

      + offsetExists() + + +

      + + +

      Check if the specified index exists and is not empty.

      + + + public + offsetExists(int $offset) : bool + +
      +
      APIYes
      + +
      + +
      Parameters
      +
      +
      + $offset + : int +
      +
      +

      The index to check

      +
      + +
      +
      + + + +
      +
      Return values
      + bool + — +

      Whether the index exists and is not empty

      +
      + +
      + +
      +
      +

      + offsetGet() + + +

      + + +

      Get the item from the specified index.

      + + + public + offsetGet(int $offset) : AllowedType + +
      +
      APIYes
      + +
      + +
      Parameters
      +
      +
      + $offset + : int +
      +
      +

      The item's index

      +
      + +
      +
      + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + OutOfRangeException + +

      when $offset is out of bounds

      +
      + +
      +
      + +
      +
      Return values
      + AllowedType + — +

      The item

      +
      + +
      + +
      +
      +

      + offsetSet() + + +

      + + +

      Set the item at the specified offset.

      + + + public + offsetSet(int|null $offset, AllowedType $value) : void + +
      +
      APIYes
      + +
      + +
      Parameters
      +
      +
      + $offset + : int|null +
      +
      +

      The offset being set or NULL to append

      +
      + +
      +
      + $value + : AllowedType +
      +
      +

      The new item for the offset

      +
      + +
      +
      + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + InvalidArgumentException + +

      if $value is not of allowed type

      +
      + +
      +
      + throws +
      +
      + OutOfRangeException + +

      when $offset is out of bounds

      +
      + +
      +
      + + +
      +
      +

      + offsetUnset() + + +

      + + +

      Unset the item at the specified index.

      + + + public + offsetUnset(int $offset) : void + +
      +
      APIYes
      + +
      + +
      Parameters
      +
      +
      + $offset + : int +
      +
      +

      The item's index

      +
      + +
      +
      + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + OutOfRangeException + +

      when $offset is out of bounds

      +
      + +
      +
      + + +
      +
      +

      + pop() + + +

      + + +

      Pops an item from the end of the list.

      + + + public + pop() : AllowedType + +
      +
      APIYes
      + +
      + + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + RuntimeException + +

      if the list is empty

      +
      + +
      +
      + +
      +
      Return values
      + AllowedType + — +

      The item from the end of the list

      +
      + +
      + +
      +
      +

      + prepend() + + +

      + + +

      Prepend items at the start of the list.

      + + + public + prepend(AllowedType ...$values) : void + +
      +
      APIYes
      + +
      + +
      Parameters
      +
      +
      + $values + : AllowedType +
      +
      +

      One or more items to prepend

      +
      + +
      +
      + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + InvalidArgumentException + +

      if $value is not of allowed type

      +
      + +
      +
      + + +
      +
      +

      + prev() + + +

      + + +

      Move the cursor to the previous list index.

      + + + public + prev() : void + +
      +
      APIYes
      + +
      + + + + + +
      +
      +

      + push() + + +

      + + +

      Push an item at the end of the list.

      + + + public + push(AllowedType $value) : void + +
      +
      APIYes
      + +
      + +
      Parameters
      +
      +
      + $value + : AllowedType +
      +
      +

      The item to push

      +
      + +
      +
      + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + InvalidArgumentException + +

      if $value is not of allowed type

      +
      + +
      +
      + + +
      +
      +

      + remove() + + +

      + + +

      Remove an item from the list.

      + + + public + remove(int $offset) : void + +
      +
      APIYes
      + +
      + +
      Parameters
      +
      +
      + $offset + : int +
      +
      +

      The item's index

      +
      + +
      +
      + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + OutOfRangeException + +

      when $offset is out of bounds

      +
      + +
      +
      + + +
      +
      +

      + rewind() + + +

      + + +

      Rewind the iterator's cursor.

      + + + public + rewind() : void + +
      +
      APIYes
      + +
      + + + + + +
      +
      +

      + set() + + +

      + + +

      Set an item at the specified index.

      + + + public + set(int $offset, AllowedType $value) : void + +
      +
      APIYes
      + +
      + +
      Parameters
      +
      +
      + $offset + : int +
      +
      +

      The item's index

      +
      + +
      +
      + $value + : AllowedType +
      +
      +

      The item

      +
      + +
      +
      + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + InvalidArgumentException + +

      if $value is not of allowed type

      +
      + +
      +
      + + +
      +
      +

      + setIteratorMode() + + +

      + + +

      Set the mode of iteration.

      + + + public + setIteratorMode(int $mode) : int + +
      +
      APIYes
      + +
      + +
      Parameters
      +
      +
      + $mode + : int +
      +
      +

      The new iterator mode (0, 1, 2 or 3)

      +

      There are two orthogonal sets of modes that can be set.

      +

      The direction of iteration (either one or the other):

      +
        +
      • StrictList::IT_MODE_FIFO (queue style)
      • +
      • StrictList::IT_MODE_LIFO (stack style)
      • +
      +

      The behavior of the iterator (either one or the other):

      +
        +
      • StrictList::IT_MODE_DELETE (delete items)
      • +
      • StrictList::IT_MODE_KEEP (keep items)
      • +
      +

      The default mode is: IT_MODE_FIFO | IT_MODE_KEEP

      +
      + +
      +
      + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + RangeException + +

      if an invalid $mode is given

      +
      + +
      +
      + +
      +
      Return values
      + int + — +

      The set of flags and modes of iteration

      +
      + +
      + +
      +
      +

      + shift() + + +

      + + +

      Shift an item from the beginning of the list.

      + + + public + shift() : AllowedType + +
      +
      APIYes
      + +
      + + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + RuntimeException + +

      if the list is empty

      +
      + +
      +
      + +
      +
      Return values
      + AllowedType + — +

      The first item of the list

      +
      + +
      + +
      +
      +

      + toArray() + + +

      + + +

      Return array representation of list.

      + + + public + toArray() : array<string|int, AllowedType> + +
      +
      APIYes
      + +
      + + + + +
      +
      Return values
      + array<string|int, AllowedType> + — +

      Array of list items

      +
      + +
      + +
      +
      +

      + top() + + +

      + + +

      Peek at the item at the end of the list.

      + + + public + top() : AllowedType + +
      +
      APIYes
      + +
      + + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + RuntimeException + +

      if the list is empty

      +
      + +
      +
      + +
      +
      Return values
      + AllowedType + — +

      The last item of the list

      +
      + +
      + +
      +
      +

      + toStrictCollection() + + +

      + + +

      Turn list into a type-sensitive collection.

      + + + public + toStrictCollection() : StrictCollection<string|int, AllowedType> + +
      +
      APIYes
      + +
      + + + + +
      +
      Return values
      + StrictCollection<string|int, AllowedType> + — +

      A type-sensitive collection of the list's items

      +
      + +
      + +
      +
      +

      + unshift() + + +

      + + +

      Prepend the list with an item.

      + + + public + unshift(AllowedType $value) : void + +
      +
      APIYes
      + +
      + +
      Parameters
      +
      +
      + $value + : AllowedType +
      +
      +

      The item to unshift

      +
      + +
      +
      + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + InvalidArgumentException + +

      if $value is not of allowed type

      +
      + +
      +
      + + +
      +
      +

      + valid() + + +

      + + +

      Check if current cursor position is valid.

      + + + public + valid() : bool + +
      +
      APIYes
      + +
      + + + + +
      +
      Return values
      + bool + — +

      Whether the current cursor position is valid

      +
      + +
      + +
      +
      +

      + setAllowedTypes() + + +

      + + +

      Set allowed data types of list items.

      + + + protected + setAllowedTypes([array<string|int, string> $allowedTypes = [] ]) : void + +
      +
      + +
      Parameters
      +
      +
      + $allowedTypes + : array<string|int, string> + = []
      +
      +

      Allowed data types of items

      +
      + +
      +
      + + +
      + Tags + + +
      +
      +
      + throws +
      +
      + InvalidArgumentException + +

      if any value of $allowedTypes is not a string

      +
      + +
      +
      + + +
      +
      + +
      +
      +
      +
      +
      
      +        
      + +
      +
      + + + +
      +
      +
      + +
      + On this page + + +
      + +
      +
      +
      +
      +
      +

      Search results

      + +
      +
      +
        +
        +
        +
        +
        + + +
        + + + + + + + + diff --git a/doc/classes/OCC-Basics-DataStructures-StrictQueue.html b/doc/classes/OCC-Basics-DataStructures-StrictQueue.html new file mode 100644 index 0000000..c57717d --- /dev/null +++ b/doc/classes/OCC-Basics-DataStructures-StrictQueue.html @@ -0,0 +1,2929 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
        +

        PHP Basics

        + + + + + + +
        + +
        +
        + + + + +
        +
        + + +
        +

        + StrictQueue + + + extends StrictList + + +
        + in package + +
        + + + implements + ArrayAccess, Countable, Iterator, Serializable + +

        + +
        + + +
        + + + +

        A type-sensitive, taversable queue (FIFO).

        + +

        Extends \SplDoublyLinkedList 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. It +also restricts the iterator direction to first-in, first-out (FIFO) exactly +like \SplQueue.

        +
        + + +
        + Tags + + +
        +
        +
        + author +
        +
        + +

        Sebastian Meyer sebastian.meyer@opencultureconsulting.com

        +
        + +
        +
        + template +
        +
        + +

        AllowedType of mixed

        +
        + +
        +
        + + + +

        + Table of Contents + + +

        + + + +

        + Interfaces + + +

        +
        +
        ArrayAccess
        Countable
        Iterator
        Serializable
        + + + + + + +

        + Properties + + +

        +
        +
        + $allowedTypes + +  : array<string|int, string> +
        + +
        + +

        + Methods + + +

        +
        +
        + __construct() + +  : void +
        +
        Create a type-sensitive, traversable queue of items.
        + +
        + __get() + +  : mixed +
        +
        Read data from an inaccessible property.
        + +
        + __isset() + +  : bool +
        +
        Check if an inaccessible property is set and not empty.
        + +
        + add() + +  : void +
        +
        Add/insert a new item at the specified offset.
        + +
        + append() + +  : void +
        +
        Append items at the end of the list.
        + +
        + bottom() + +  : AllowedType +
        +
        Peek at the item at the beginning of the list.
        + +
        + clear() + +  : void +
        +
        Clear the list of any items.
        + +
        + count() + +  : int +
        +
        Get the number of items on the list.
        + +
        + current() + +  : AllowedType +
        +
        Get the current list item.
        + +
        + dequeue() + +  : AllowedType +
        +
        Dequeue an item from the queue.
        + +
        + enqueue() + +  : void +
        +
        Add an item to the queue.
        + +
        + get() + +  : AllowedType +
        +
        Get the item at the specified index.
        + +
        + getAllowedTypes() + +  : array<string|int, string> +
        +
        Get allowed data types for list items.
        + +
        + getIteratorMode() + +  : int +
        +
        Get the mode of iteration.
        + +
        + isAllowedType() + +  : bool +
        +
        Check if the item's data type is allowed on the list.
        + +
        + isEmpty() + +  : bool +
        +
        Check if list is empty.
        + +
        + isList() + +  : true +
        +
        Check if this can be considered a list.
        + +
        + key() + +  : int +
        +
        Get the current list index.
        + +
        + next() + +  : void +
        +
        Move the cursor to the next list index.
        + +
        + offsetExists() + +  : bool +
        +
        Check if the specified index exists and is not empty.
        + +
        + offsetGet() + +  : AllowedType +
        +
        Get the item from the specified index.
        + +
        + offsetSet() + +  : void +
        +
        Set the item at the specified offset.
        + +
        + offsetUnset() + +  : void +
        +
        Unset the item at the specified index.
        + +
        + pop() + +  : AllowedType +
        +
        Pops an item from the end of the list.
        + +
        + prepend() + +  : void +
        +
        Prepend items at the start of the list.
        + +
        + prev() + +  : void +
        +
        Move the cursor to the previous list index.
        + +
        + push() + +  : void +
        +
        Push an item at the end of the list.
        + +
        + remove() + +  : void +
        +
        Remove an item from the list.
        + +
        + rewind() + +  : void +
        +
        Rewind the iterator's cursor.
        + +
        + set() + +  : void +
        +
        Set an item at the specified index.
        + +
        + setIteratorMode() + +  : int +
        +
        Set the mode of iteration.
        + +
        + shift() + +  : AllowedType +
        +
        Shift an item from the beginning of the list.
        + +
        + toArray() + +  : array<string|int, AllowedType> +
        +
        Return array representation of list.
        + +
        + top() + +  : AllowedType +
        +
        Peek at the item at the end of the list.
        + +
        + toStrictCollection() + +  : StrictCollection<string|int, AllowedType> +
        +
        Turn list into a type-sensitive collection.
        + +
        + unshift() + +  : void +
        +
        Prepend the list with an item.
        + +
        + valid() + +  : bool +
        +
        Check if current cursor position is valid.
        + +
        + setAllowedTypes() + +  : void +
        +
        Set allowed data types of list items.
        + +
        + + + + + + + +
        +

        + Properties + + +

        +
        +

        + $allowedTypes + + + + read-only +

        + + + + + public + array<string|int, string> + $allowedTypes + + +

        The allowed data types for values.

        +
        + + + + +
        +
        + +
        +

        + Methods + + +

        +
        +

        + __construct() + + +

        + + +

        Create a type-sensitive, traversable queue of items.

        + + + public + __construct([array<string|int, string> $allowedTypes = [] ]) : void + +
        +
        + +
        Parameters
        +
        +
        + $allowedTypes + : array<string|int, string> + = []
        +
        +

        Allowed data types of items (optional)

        +

        If empty, all types are allowed. +Possible values are:

        +
          +
        • "array"
        • +
        • "bool"
        • +
        • "callable"
        • +
        • "countable"
        • +
        • "float" or "double"
        • +
        • "int" or "integer" or "long"
        • +
        • "iterable"
        • +
        • "null"
        • +
        • "numeric"
        • +
        • "object" or FQCN
        • +
        • "resource"
        • +
        • "scalar"
        • +
        • "string"
        • +
        +
        + +
        +
        + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + InvalidArgumentException + +

        if any value of $allowedTypes is not a string

        +
        + +
        +
        + + +
        +
        +

        + __get() + + +

        + + +

        Read data from an inaccessible property.

        + + + public + __get(string $property) : mixed + +
        +
        + +
        Parameters
        +
        +
        + $property + : string +
        +
        +

        The class property to get

        +
        + +
        +
        + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + InvalidArgumentException + +

        if the property or getter method do not exist

        +
        + +
        +
        + +
        +
        Return values
        + mixed + — +

        The class property's current value

        +
        + +
        + +
        +
        +

        + __isset() + + +

        + + +

        Check if an inaccessible property is set and not empty.

        + + + public + __isset(string $property) : bool + +
        +
        + +
        Parameters
        +
        +
        + $property + : string +
        +
        +

        The class property to check

        +
        + +
        +
        + + + +
        +
        Return values
        + bool + — +

        Whether the class property is set and not empty

        +
        + +
        + +
        +
        +

        + add() + + +

        + + +

        Add/insert a new item at the specified offset.

        + + + public + add(int $offset, AllowedType $value) : void + +
        +
        APIYes
        + +
        + +
        Parameters
        +
        +
        + $offset + : int +
        +
        +

        The offset where the new item is to be inserted

        +
        + +
        +
        + $value + : AllowedType +
        +
        +

        The new item for the offset

        +
        + +
        +
        + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + InvalidArgumentException + +

        if $value is not of allowed type

        +
        + +
        +
        + throws +
        +
        + OutOfRangeException + +

        when $offset is out of bounds

        +
        + +
        +
        + + +
        +
        +

        + append() + + +

        + + +

        Append items at the end of the list.

        + + + public + append(AllowedType ...$values) : void + +
        +
        APIYes
        + +
        + +
        Parameters
        +
        +
        + $values + : AllowedType +
        +
        +

        One or more items to append

        +
        + +
        +
        + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + InvalidArgumentException + +

        if any $values is not of allowed type

        +
        + +
        +
        + + +
        +
        +

        + bottom() + + +

        + + +

        Peek at the item at the beginning of the list.

        + + + public + bottom() : AllowedType + +
        +
        APIYes
        + +
        + + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + RuntimeException + +

        if the list is empty

        +
        + +
        +
        + +
        +
        Return values
        + AllowedType + — +

        The first item of the list

        +
        + +
        + +
        +
        +

        + clear() + + +

        + + +

        Clear the list of any items.

        + + + public + clear() : void + +
        +
        APIYes
        + +
        + + + + + +
        +
        +

        + count() + + +

        + + +

        Get the number of items on the list.

        + + + public + count() : int + +
        +
        APIYes
        + +
        + + + + +
        +
        Return values
        + int + — +

        The number of items on the list

        +
        + +
        + +
        +
        +

        + current() + + +

        + + +

        Get the current list item.

        + + + public + current() : AllowedType + +
        +
        APIYes
        + +
        + + + + +
        +
        Return values
        + AllowedType + — +

        The current item

        +
        + +
        + +
        +
        +

        + dequeue() + + +

        + + +

        Dequeue an item from the queue.

        + + + public + dequeue() : AllowedType + +
        +
        APIYes
        + +
        + + + + +
        +
        Return values
        + AllowedType + — +

        The dequeued item

        +
        + +
        + +
        +
        +

        + enqueue() + + +

        + + +

        Add an item to the queue.

        + + + public + enqueue(AllowedType $value) : void + +
        +
        APIYes
        + +
        + +
        Parameters
        +
        +
        + $value + : AllowedType +
        +
        +

        The item to enqueue

        +
        + +
        +
        + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + InvalidArgumentException + +

        if $value is not of allowed type

        +
        + +
        +
        + + +
        +
        +

        + get() + + +

        + + +

        Get the item at the specified index.

        + + + public + get(int $offset) : AllowedType + +
        +
        APIYes
        + +
        + +
        Parameters
        +
        +
        + $offset + : int +
        +
        +

        The item's index

        +
        + +
        +
        + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + OutOfRangeException + +

        when $offset is out of bounds

        +
        + +
        +
        + +
        +
        Return values
        + AllowedType + — +

        The item

        +
        + +
        + +
        +
        +

        + getAllowedTypes() + + +

        + + +

        Get allowed data types for list items.

        + + + public + getAllowedTypes() : array<string|int, string> + +
        +
        APIYes
        + +
        + + + + +
        +
        Return values
        + array<string|int, string> + — +

        The list of allowed data types

        +
        + +
        + +
        +
        +

        + getIteratorMode() + + +

        + + +

        Get the mode of iteration.

        + + + public + getIteratorMode() : int + +
        +
        APIYes
        + +
        + + + + +
        +
        Return values
        + int + — +

        The set of flags and modes of iteration

        +
        + +
        + +
        +
        +

        + isAllowedType() + + +

        + + +

        Check if the item's data type is allowed on the list.

        + + + public + isAllowedType(AllowedType $value) : bool + +
        +
        APIYes
        + +
        + +
        Parameters
        +
        +
        + $value + : AllowedType +
        +
        +

        The item to check

        +
        + +
        +
        + + + +
        +
        Return values
        + bool + — +

        Whether the item's data type is allowed

        +
        + +
        + +
        +
        +

        + isEmpty() + + +

        + + +

        Check if list is empty.

        + + + public + isEmpty() : bool + +
        +
        APIYes
        + +
        + + + + +
        +
        Return values
        + bool + — +

        Whether the list contains no items

        +
        + +
        + +
        +
        +

        + isList() + + +

        + + +

        Check if this can be considered a list.

        + + + public + isList() : true + +
        +
        APIYes
        + +
        + + + + +
        +
        Return values
        + true + — +

        Always TRUE (this exists only for compatibility reasons)

        +
        + +
        + +
        +
        +

        + key() + + +

        + + +

        Get the current list index.

        + + + public + key() : int + +
        +
        APIYes
        + +
        + + + + +
        +
        Return values
        + int + — +

        The current list index

        +
        + +
        + +
        +
        +

        + next() + + +

        + + +

        Move the cursor to the next list index.

        + + + public + next() : void + +
        +
        APIYes
        + +
        + + + + + +
        +
        +

        + offsetExists() + + +

        + + +

        Check if the specified index exists and is not empty.

        + + + public + offsetExists(int $offset) : bool + +
        +
        APIYes
        + +
        + +
        Parameters
        +
        +
        + $offset + : int +
        +
        +

        The index to check

        +
        + +
        +
        + + + +
        +
        Return values
        + bool + — +

        Whether the index exists and is not empty

        +
        + +
        + +
        +
        +

        + offsetGet() + + +

        + + +

        Get the item from the specified index.

        + + + public + offsetGet(int $offset) : AllowedType + +
        +
        APIYes
        + +
        + +
        Parameters
        +
        +
        + $offset + : int +
        +
        +

        The item's index

        +
        + +
        +
        + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + OutOfRangeException + +

        when $offset is out of bounds

        +
        + +
        +
        + +
        +
        Return values
        + AllowedType + — +

        The item

        +
        + +
        + +
        +
        +

        + offsetSet() + + +

        + + +

        Set the item at the specified offset.

        + + + public + offsetSet(int|null $offset, AllowedType $value) : void + +
        +
        APIYes
        + +
        + +
        Parameters
        +
        +
        + $offset + : int|null +
        +
        +

        The offset being set or NULL to append

        +
        + +
        +
        + $value + : AllowedType +
        +
        +

        The new item for the offset

        +
        + +
        +
        + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + InvalidArgumentException + +

        if $value is not of allowed type

        +
        + +
        +
        + throws +
        +
        + OutOfRangeException + +

        when $offset is out of bounds

        +
        + +
        +
        + + +
        +
        +

        + offsetUnset() + + +

        + + +

        Unset the item at the specified index.

        + + + public + offsetUnset(int $offset) : void + +
        +
        APIYes
        + +
        + +
        Parameters
        +
        +
        + $offset + : int +
        +
        +

        The item's index

        +
        + +
        +
        + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + OutOfRangeException + +

        when $offset is out of bounds

        +
        + +
        +
        + + +
        +
        +

        + pop() + + +

        + + +

        Pops an item from the end of the list.

        + + + public + pop() : AllowedType + +
        +
        APIYes
        + +
        + + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + RuntimeException + +

        if the list is empty

        +
        + +
        +
        + +
        +
        Return values
        + AllowedType + — +

        The item from the end of the list

        +
        + +
        + +
        +
        +

        + prepend() + + +

        + + +

        Prepend items at the start of the list.

        + + + public + prepend(AllowedType ...$values) : void + +
        +
        APIYes
        + +
        + +
        Parameters
        +
        +
        + $values + : AllowedType +
        +
        +

        One or more items to prepend

        +
        + +
        +
        + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + InvalidArgumentException + +

        if $value is not of allowed type

        +
        + +
        +
        + + +
        +
        +

        + prev() + + +

        + + +

        Move the cursor to the previous list index.

        + + + public + prev() : void + +
        +
        APIYes
        + +
        + + + + + +
        +
        +

        + push() + + +

        + + +

        Push an item at the end of the list.

        + + + public + push(AllowedType $value) : void + +
        +
        APIYes
        + +
        + +
        Parameters
        +
        +
        + $value + : AllowedType +
        +
        +

        The item to push

        +
        + +
        +
        + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + InvalidArgumentException + +

        if $value is not of allowed type

        +
        + +
        +
        + + +
        +
        +

        + remove() + + +

        + + +

        Remove an item from the list.

        + + + public + remove(int $offset) : void + +
        +
        APIYes
        + +
        + +
        Parameters
        +
        +
        + $offset + : int +
        +
        +

        The item's index

        +
        + +
        +
        + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + OutOfRangeException + +

        when $offset is out of bounds

        +
        + +
        +
        + + +
        +
        +

        + rewind() + + +

        + + +

        Rewind the iterator's cursor.

        + + + public + rewind() : void + +
        +
        APIYes
        + +
        + + + + + +
        +
        +

        + set() + + +

        + + +

        Set an item at the specified index.

        + + + public + set(int $offset, AllowedType $value) : void + +
        +
        APIYes
        + +
        + +
        Parameters
        +
        +
        + $offset + : int +
        +
        +

        The item's index

        +
        + +
        +
        + $value + : AllowedType +
        +
        +

        The item

        +
        + +
        +
        + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + InvalidArgumentException + +

        if $value is not of allowed type

        +
        + +
        +
        + + +
        +
        +

        + setIteratorMode() + + +

        + + +

        Set the mode of iteration.

        + + + public + final setIteratorMode(int $mode) : int + +
        +
        APIYes
        + +
        + +
        Parameters
        +
        +
        + $mode + : int +
        +
        +

        The new iterator mode (0 or 1)

        +

        There are two orthogonal sets of modes that can be set.

        +

        The direction of iteration (fixed for StrictQueue):

        +
          +
        • StrictQueue::IT_MODE_FIFO (queue style)
        • +
        +

        The behavior of the iterator (either one or the other):

        +
          +
        • StrictQueue::IT_MODE_DELETE (delete items)
        • +
        • StrictQueue::IT_MODE_KEEP (keep items)
        • +
        +

        The default mode is: IT_MODE_FIFO | IT_MODE_KEEP

        +
        + +
        +
        + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + RangeException + +

        if an invalid $mode is given

        +
        + +
        +
        + throws +
        +
        + RuntimeException + +

        if trying to change iterator direction

        +
        + +
        +
        + +
        +
        Return values
        + int + — +

        The set of flags and modes of iteration

        +
        + +
        + +
        +
        +

        + shift() + + +

        + + +

        Shift an item from the beginning of the list.

        + + + public + shift() : AllowedType + +
        +
        APIYes
        + +
        + + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + RuntimeException + +

        if the list is empty

        +
        + +
        +
        + +
        +
        Return values
        + AllowedType + — +

        The first item of the list

        +
        + +
        + +
        +
        +

        + toArray() + + +

        + + +

        Return array representation of list.

        + + + public + toArray() : array<string|int, AllowedType> + +
        +
        APIYes
        + +
        + + + + +
        +
        Return values
        + array<string|int, AllowedType> + — +

        Array of list items

        +
        + +
        + +
        +
        +

        + top() + + +

        + + +

        Peek at the item at the end of the list.

        + + + public + top() : AllowedType + +
        +
        APIYes
        + +
        + + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + RuntimeException + +

        if the list is empty

        +
        + +
        +
        + +
        +
        Return values
        + AllowedType + — +

        The last item of the list

        +
        + +
        + +
        +
        +

        + toStrictCollection() + + +

        + + +

        Turn list into a type-sensitive collection.

        + + + public + toStrictCollection() : StrictCollection<string|int, AllowedType> + +
        +
        APIYes
        + +
        + + + + +
        +
        Return values
        + StrictCollection<string|int, AllowedType> + — +

        A type-sensitive collection of the list's items

        +
        + +
        + +
        +
        +

        + unshift() + + +

        + + +

        Prepend the list with an item.

        + + + public + unshift(AllowedType $value) : void + +
        +
        APIYes
        + +
        + +
        Parameters
        +
        +
        + $value + : AllowedType +
        +
        +

        The item to unshift

        +
        + +
        +
        + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + InvalidArgumentException + +

        if $value is not of allowed type

        +
        + +
        +
        + + +
        +
        +

        + valid() + + +

        + + +

        Check if current cursor position is valid.

        + + + public + valid() : bool + +
        +
        APIYes
        + +
        + + + + +
        +
        Return values
        + bool + — +

        Whether the current cursor position is valid

        +
        + +
        + +
        +
        +

        + setAllowedTypes() + + +

        + + +

        Set allowed data types of list items.

        + + + protected + setAllowedTypes([array<string|int, string> $allowedTypes = [] ]) : void + +
        +
        + +
        Parameters
        +
        +
        + $allowedTypes + : array<string|int, string> + = []
        +
        +

        Allowed data types of items

        +
        + +
        +
        + + +
        + Tags + + +
        +
        +
        + throws +
        +
        + InvalidArgumentException + +

        if any value of $allowedTypes is not a string

        +
        + +
        +
        + + +
        +
        + +
        +
        +
        +
        +
        
        +        
        + +
        +
        + + + +
        +
        +
        + +
        + On this page + + +
        + +
        +
        +
        +
        +
        +

        Search results

        + +
        +
        +
          +
          +
          +
          +
          + + +
          + + + + + + + + diff --git a/doc/classes/OCC-Basics-DataStructures-StrictStack.html b/doc/classes/OCC-Basics-DataStructures-StrictStack.html new file mode 100644 index 0000000..85de115 --- /dev/null +++ b/doc/classes/OCC-Basics-DataStructures-StrictStack.html @@ -0,0 +1,2929 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
          +

          PHP Basics

          + + + + + + +
          + +
          +
          + + + + +
          +
          + + +
          +

          + StrictStack + + + extends StrictList + + +
          + in package + +
          + + + implements + ArrayAccess, Countable, Iterator, Serializable + +

          + +
          + + +
          + + + +

          A type-sensitive, taversable stack (LIFO).

          + +

          Extends \SplDoublyLinkedList 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. It +also restricts the iterator direction to last-in, first-out (LIFO) exactly +like \SplStack.

          +
          + + +
          + Tags + + +
          +
          +
          + author +
          +
          + +

          Sebastian Meyer sebastian.meyer@opencultureconsulting.com

          +
          + +
          +
          + template +
          +
          + +

          AllowedType of mixed

          +
          + +
          +
          + + + +

          + Table of Contents + + +

          + + + +

          + Interfaces + + +

          +
          +
          ArrayAccess
          Countable
          Iterator
          Serializable
          + + + + + + +

          + Properties + + +

          +
          +
          + $allowedTypes + +  : array<string|int, string> +
          + +
          + +

          + Methods + + +

          +
          +
          + __construct() + +  : void +
          +
          Create a type-sensitive, traversable stack of items.
          + +
          + __get() + +  : mixed +
          +
          Read data from an inaccessible property.
          + +
          + __isset() + +  : bool +
          +
          Check if an inaccessible property is set and not empty.
          + +
          + add() + +  : void +
          +
          Add/insert a new item at the specified offset.
          + +
          + append() + +  : void +
          +
          Append items at the end of the list.
          + +
          + bottom() + +  : AllowedType +
          +
          Peek at the item at the beginning of the list.
          + +
          + clear() + +  : void +
          +
          Clear the list of any items.
          + +
          + count() + +  : int +
          +
          Get the number of items on the list.
          + +
          + current() + +  : AllowedType +
          +
          Get the current list item.
          + +
          + get() + +  : AllowedType +
          +
          Get the item at the specified index.
          + +
          + getAllowedTypes() + +  : array<string|int, string> +
          +
          Get allowed data types for list items.
          + +
          + getIteratorMode() + +  : int +
          +
          Get the mode of iteration.
          + +
          + isAllowedType() + +  : bool +
          +
          Check if the item's data type is allowed on the list.
          + +
          + isEmpty() + +  : bool +
          +
          Check if list is empty.
          + +
          + isList() + +  : true +
          +
          Check if this can be considered a list.
          + +
          + key() + +  : int +
          +
          Get the current list index.
          + +
          + next() + +  : void +
          +
          Move the cursor to the next list index.
          + +
          + offsetExists() + +  : bool +
          +
          Check if the specified index exists and is not empty.
          + +
          + offsetGet() + +  : AllowedType +
          +
          Get the item from the specified index.
          + +
          + offsetSet() + +  : void +
          +
          Set the item at the specified offset.
          + +
          + offsetUnset() + +  : void +
          +
          Unset the item at the specified index.
          + +
          + pop() + +  : AllowedType +
          +
          Pops an item from the end of the list.
          + +
          + prepend() + +  : void +
          +
          Prepend items at the start of the list.
          + +
          + prev() + +  : void +
          +
          Move the cursor to the previous list index.
          + +
          + push() + +  : void +
          +
          Push an item at the end of the list.
          + +
          + remove() + +  : void +
          +
          Remove an item from the list.
          + +
          + rewind() + +  : void +
          +
          Rewind the iterator's cursor.
          + +
          + set() + +  : void +
          +
          Set an item at the specified index.
          + +
          + setIteratorMode() + +  : int +
          +
          Set the mode of iteration.
          + +
          + shift() + +  : AllowedType +
          +
          Shift an item from the beginning of the list.
          + +
          + stack() + +  : void +
          +
          Add an item to the stack.
          + +
          + toArray() + +  : array<string|int, AllowedType> +
          +
          Return array representation of list.
          + +
          + top() + +  : AllowedType +
          +
          Peek at the item at the end of the list.
          + +
          + toStrictCollection() + +  : StrictCollection<string|int, AllowedType> +
          +
          Turn list into a type-sensitive collection.
          + +
          + unshift() + +  : void +
          +
          Prepend the list with an item.
          + +
          + unstack() + +  : AllowedType +
          +
          Unstack an item from the stack.
          + +
          + valid() + +  : bool +
          +
          Check if current cursor position is valid.
          + +
          + setAllowedTypes() + +  : void +
          +
          Set allowed data types of list items.
          + +
          + + + + + + + +
          +

          + Properties + + +

          +
          +

          + $allowedTypes + + + + read-only +

          + + + + + public + array<string|int, string> + $allowedTypes + + +

          The allowed data types for values.

          +
          + + + + +
          +
          + +
          +

          + Methods + + +

          +
          +

          + __construct() + + +

          + + +

          Create a type-sensitive, traversable stack of items.

          + + + public + __construct([array<string|int, string> $allowedTypes = [] ]) : void + +
          +
          + +
          Parameters
          +
          +
          + $allowedTypes + : array<string|int, string> + = []
          +
          +

          Allowed data types of items (optional)

          +

          If empty, all types are allowed. +Possible values are:

          +
            +
          • "array"
          • +
          • "bool"
          • +
          • "callable"
          • +
          • "countable"
          • +
          • "float" or "double"
          • +
          • "int" or "integer" or "long"
          • +
          • "iterable"
          • +
          • "null"
          • +
          • "numeric"
          • +
          • "object" or FQCN
          • +
          • "resource"
          • +
          • "scalar"
          • +
          • "string"
          • +
          +
          + +
          +
          + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + InvalidArgumentException + +

          if any value of $allowedTypes is not a string

          +
          + +
          +
          + + +
          +
          +

          + __get() + + +

          + + +

          Read data from an inaccessible property.

          + + + public + __get(string $property) : mixed + +
          +
          + +
          Parameters
          +
          +
          + $property + : string +
          +
          +

          The class property to get

          +
          + +
          +
          + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + InvalidArgumentException + +

          if the property or getter method do not exist

          +
          + +
          +
          + +
          +
          Return values
          + mixed + — +

          The class property's current value

          +
          + +
          + +
          +
          +

          + __isset() + + +

          + + +

          Check if an inaccessible property is set and not empty.

          + + + public + __isset(string $property) : bool + +
          +
          + +
          Parameters
          +
          +
          + $property + : string +
          +
          +

          The class property to check

          +
          + +
          +
          + + + +
          +
          Return values
          + bool + — +

          Whether the class property is set and not empty

          +
          + +
          + +
          +
          +

          + add() + + +

          + + +

          Add/insert a new item at the specified offset.

          + + + public + add(int $offset, AllowedType $value) : void + +
          +
          APIYes
          + +
          + +
          Parameters
          +
          +
          + $offset + : int +
          +
          +

          The offset where the new item is to be inserted

          +
          + +
          +
          + $value + : AllowedType +
          +
          +

          The new item for the offset

          +
          + +
          +
          + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + InvalidArgumentException + +

          if $value is not of allowed type

          +
          + +
          +
          + throws +
          +
          + OutOfRangeException + +

          when $offset is out of bounds

          +
          + +
          +
          + + +
          +
          +

          + append() + + +

          + + +

          Append items at the end of the list.

          + + + public + append(AllowedType ...$values) : void + +
          +
          APIYes
          + +
          + +
          Parameters
          +
          +
          + $values + : AllowedType +
          +
          +

          One or more items to append

          +
          + +
          +
          + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + InvalidArgumentException + +

          if any $values is not of allowed type

          +
          + +
          +
          + + +
          +
          +

          + bottom() + + +

          + + +

          Peek at the item at the beginning of the list.

          + + + public + bottom() : AllowedType + +
          +
          APIYes
          + +
          + + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + RuntimeException + +

          if the list is empty

          +
          + +
          +
          + +
          +
          Return values
          + AllowedType + — +

          The first item of the list

          +
          + +
          + +
          +
          +

          + clear() + + +

          + + +

          Clear the list of any items.

          + + + public + clear() : void + +
          +
          APIYes
          + +
          + + + + + +
          +
          +

          + count() + + +

          + + +

          Get the number of items on the list.

          + + + public + count() : int + +
          +
          APIYes
          + +
          + + + + +
          +
          Return values
          + int + — +

          The number of items on the list

          +
          + +
          + +
          +
          +

          + current() + + +

          + + +

          Get the current list item.

          + + + public + current() : AllowedType + +
          +
          APIYes
          + +
          + + + + +
          +
          Return values
          + AllowedType + — +

          The current item

          +
          + +
          + +
          +
          +

          + get() + + +

          + + +

          Get the item at the specified index.

          + + + public + get(int $offset) : AllowedType + +
          +
          APIYes
          + +
          + +
          Parameters
          +
          +
          + $offset + : int +
          +
          +

          The item's index

          +
          + +
          +
          + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + OutOfRangeException + +

          when $offset is out of bounds

          +
          + +
          +
          + +
          +
          Return values
          + AllowedType + — +

          The item

          +
          + +
          + +
          +
          +

          + getAllowedTypes() + + +

          + + +

          Get allowed data types for list items.

          + + + public + getAllowedTypes() : array<string|int, string> + +
          +
          APIYes
          + +
          + + + + +
          +
          Return values
          + array<string|int, string> + — +

          The list of allowed data types

          +
          + +
          + +
          +
          +

          + getIteratorMode() + + +

          + + +

          Get the mode of iteration.

          + + + public + getIteratorMode() : int + +
          +
          APIYes
          + +
          + + + + +
          +
          Return values
          + int + — +

          The set of flags and modes of iteration

          +
          + +
          + +
          +
          +

          + isAllowedType() + + +

          + + +

          Check if the item's data type is allowed on the list.

          + + + public + isAllowedType(AllowedType $value) : bool + +
          +
          APIYes
          + +
          + +
          Parameters
          +
          +
          + $value + : AllowedType +
          +
          +

          The item to check

          +
          + +
          +
          + + + +
          +
          Return values
          + bool + — +

          Whether the item's data type is allowed

          +
          + +
          + +
          +
          +

          + isEmpty() + + +

          + + +

          Check if list is empty.

          + + + public + isEmpty() : bool + +
          +
          APIYes
          + +
          + + + + +
          +
          Return values
          + bool + — +

          Whether the list contains no items

          +
          + +
          + +
          +
          +

          + isList() + + +

          + + +

          Check if this can be considered a list.

          + + + public + isList() : true + +
          +
          APIYes
          + +
          + + + + +
          +
          Return values
          + true + — +

          Always TRUE (this exists only for compatibility reasons)

          +
          + +
          + +
          +
          +

          + key() + + +

          + + +

          Get the current list index.

          + + + public + key() : int + +
          +
          APIYes
          + +
          + + + + +
          +
          Return values
          + int + — +

          The current list index

          +
          + +
          + +
          +
          +

          + next() + + +

          + + +

          Move the cursor to the next list index.

          + + + public + next() : void + +
          +
          APIYes
          + +
          + + + + + +
          +
          +

          + offsetExists() + + +

          + + +

          Check if the specified index exists and is not empty.

          + + + public + offsetExists(int $offset) : bool + +
          +
          APIYes
          + +
          + +
          Parameters
          +
          +
          + $offset + : int +
          +
          +

          The index to check

          +
          + +
          +
          + + + +
          +
          Return values
          + bool + — +

          Whether the index exists and is not empty

          +
          + +
          + +
          +
          +

          + offsetGet() + + +

          + + +

          Get the item from the specified index.

          + + + public + offsetGet(int $offset) : AllowedType + +
          +
          APIYes
          + +
          + +
          Parameters
          +
          +
          + $offset + : int +
          +
          +

          The item's index

          +
          + +
          +
          + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + OutOfRangeException + +

          when $offset is out of bounds

          +
          + +
          +
          + +
          +
          Return values
          + AllowedType + — +

          The item

          +
          + +
          + +
          +
          +

          + offsetSet() + + +

          + + +

          Set the item at the specified offset.

          + + + public + offsetSet(int|null $offset, AllowedType $value) : void + +
          +
          APIYes
          + +
          + +
          Parameters
          +
          +
          + $offset + : int|null +
          +
          +

          The offset being set or NULL to append

          +
          + +
          +
          + $value + : AllowedType +
          +
          +

          The new item for the offset

          +
          + +
          +
          + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + InvalidArgumentException + +

          if $value is not of allowed type

          +
          + +
          +
          + throws +
          +
          + OutOfRangeException + +

          when $offset is out of bounds

          +
          + +
          +
          + + +
          +
          +

          + offsetUnset() + + +

          + + +

          Unset the item at the specified index.

          + + + public + offsetUnset(int $offset) : void + +
          +
          APIYes
          + +
          + +
          Parameters
          +
          +
          + $offset + : int +
          +
          +

          The item's index

          +
          + +
          +
          + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + OutOfRangeException + +

          when $offset is out of bounds

          +
          + +
          +
          + + +
          +
          +

          + pop() + + +

          + + +

          Pops an item from the end of the list.

          + + + public + pop() : AllowedType + +
          +
          APIYes
          + +
          + + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + RuntimeException + +

          if the list is empty

          +
          + +
          +
          + +
          +
          Return values
          + AllowedType + — +

          The item from the end of the list

          +
          + +
          + +
          +
          +

          + prepend() + + +

          + + +

          Prepend items at the start of the list.

          + + + public + prepend(AllowedType ...$values) : void + +
          +
          APIYes
          + +
          + +
          Parameters
          +
          +
          + $values + : AllowedType +
          +
          +

          One or more items to prepend

          +
          + +
          +
          + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + InvalidArgumentException + +

          if $value is not of allowed type

          +
          + +
          +
          + + +
          +
          +

          + prev() + + +

          + + +

          Move the cursor to the previous list index.

          + + + public + prev() : void + +
          +
          APIYes
          + +
          + + + + + +
          +
          +

          + push() + + +

          + + +

          Push an item at the end of the list.

          + + + public + push(AllowedType $value) : void + +
          +
          APIYes
          + +
          + +
          Parameters
          +
          +
          + $value + : AllowedType +
          +
          +

          The item to push

          +
          + +
          +
          + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + InvalidArgumentException + +

          if $value is not of allowed type

          +
          + +
          +
          + + +
          +
          +

          + remove() + + +

          + + +

          Remove an item from the list.

          + + + public + remove(int $offset) : void + +
          +
          APIYes
          + +
          + +
          Parameters
          +
          +
          + $offset + : int +
          +
          +

          The item's index

          +
          + +
          +
          + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + OutOfRangeException + +

          when $offset is out of bounds

          +
          + +
          +
          + + +
          +
          +

          + rewind() + + +

          + + +

          Rewind the iterator's cursor.

          + + + public + rewind() : void + +
          +
          APIYes
          + +
          + + + + + +
          +
          +

          + set() + + +

          + + +

          Set an item at the specified index.

          + + + public + set(int $offset, AllowedType $value) : void + +
          +
          APIYes
          + +
          + +
          Parameters
          +
          +
          + $offset + : int +
          +
          +

          The item's index

          +
          + +
          +
          + $value + : AllowedType +
          +
          +

          The item

          +
          + +
          +
          + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + InvalidArgumentException + +

          if $value is not of allowed type

          +
          + +
          +
          + + +
          +
          +

          + setIteratorMode() + + +

          + + +

          Set the mode of iteration.

          + + + public + final setIteratorMode(int $mode) : int + +
          +
          APIYes
          + +
          + +
          Parameters
          +
          +
          + $mode + : int +
          +
          +

          The new iterator mode (2 or 3)

          +

          There are two orthogonal sets of modes that can be set.

          +

          The direction of iteration (fixed for StrictStack):

          +
            +
          • StrictStack::IT_MODE_LIFO (stack style)
          • +
          +

          The behavior of the iterator (either one or the other):

          +
            +
          • StrictStack::IT_MODE_DELETE (delete items)
          • +
          • StrictStack::IT_MODE_KEEP (keep items)
          • +
          +

          The default mode is: IT_MODE_LIFO | IT_MODE_KEEP

          +
          + +
          +
          + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + RangeException + +

          if an invalid $mode is given

          +
          + +
          +
          + throws +
          +
          + RuntimeException + +

          if trying to change iterator direction

          +
          + +
          +
          + +
          +
          Return values
          + int + — +

          The set of flags and modes of iteration

          +
          + +
          + +
          +
          +

          + shift() + + +

          + + +

          Shift an item from the beginning of the list.

          + + + public + shift() : AllowedType + +
          +
          APIYes
          + +
          + + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + RuntimeException + +

          if the list is empty

          +
          + +
          +
          + +
          +
          Return values
          + AllowedType + — +

          The first item of the list

          +
          + +
          + +
          +
          +

          + stack() + + +

          + + +

          Add an item to the stack.

          + + + public + stack(AllowedType $value) : void + +
          +
          APIYes
          + +
          + +
          Parameters
          +
          +
          + $value + : AllowedType +
          +
          +

          The item to stack

          +
          + +
          +
          + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + InvalidArgumentException + +

          if $value is not of allowed type

          +
          + +
          +
          + + +
          +
          +

          + toArray() + + +

          + + +

          Return array representation of list.

          + + + public + toArray() : array<string|int, AllowedType> + +
          +
          APIYes
          + +
          + + + + +
          +
          Return values
          + array<string|int, AllowedType> + — +

          Array of list items

          +
          + +
          + +
          +
          +

          + top() + + +

          + + +

          Peek at the item at the end of the list.

          + + + public + top() : AllowedType + +
          +
          APIYes
          + +
          + + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + RuntimeException + +

          if the list is empty

          +
          + +
          +
          + +
          +
          Return values
          + AllowedType + — +

          The last item of the list

          +
          + +
          + +
          +
          +

          + toStrictCollection() + + +

          + + +

          Turn list into a type-sensitive collection.

          + + + public + toStrictCollection() : StrictCollection<string|int, AllowedType> + +
          +
          APIYes
          + +
          + + + + +
          +
          Return values
          + StrictCollection<string|int, AllowedType> + — +

          A type-sensitive collection of the list's items

          +
          + +
          + +
          +
          +

          + unshift() + + +

          + + +

          Prepend the list with an item.

          + + + public + unshift(AllowedType $value) : void + +
          +
          APIYes
          + +
          + +
          Parameters
          +
          +
          + $value + : AllowedType +
          +
          +

          The item to unshift

          +
          + +
          +
          + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + InvalidArgumentException + +

          if $value is not of allowed type

          +
          + +
          +
          + + +
          +
          +

          + unstack() + + +

          + + +

          Unstack an item from the stack.

          + + + public + unstack() : AllowedType + +
          +
          APIYes
          + +
          + + + + +
          +
          Return values
          + AllowedType + — +

          The unstacked item

          +
          + +
          + +
          +
          +

          + valid() + + +

          + + +

          Check if current cursor position is valid.

          + + + public + valid() : bool + +
          +
          APIYes
          + +
          + + + + +
          +
          Return values
          + bool + — +

          Whether the current cursor position is valid

          +
          + +
          + +
          +
          +

          + setAllowedTypes() + + +

          + + +

          Set allowed data types of list items.

          + + + protected + setAllowedTypes([array<string|int, string> $allowedTypes = [] ]) : void + +
          +
          + +
          Parameters
          +
          +
          + $allowedTypes + : array<string|int, string> + = []
          +
          +

          Allowed data types of items

          +
          + +
          +
          + + +
          + Tags + + +
          +
          +
          + throws +
          +
          + InvalidArgumentException + +

          if any value of $allowedTypes is not a string

          +
          + +
          +
          + + +
          +
          + +
          +
          +
          +
          +
          
          +        
          + +
          +
          + + + +
          +
          +
          + +
          + On this page + + +
          + +
          +
          +
          +
          +
          +

          Search results

          + +
          +
          +
            +
            +
            +
            +
            + + +
            + + + + + + + + diff --git a/doc/classes/OCC-Basics-ErrorHandlers-ThrowErrorException.html b/doc/classes/OCC-Basics-ErrorHandlers-ThrowErrorException.html new file mode 100644 index 0000000..61d1ec4 --- /dev/null +++ b/doc/classes/OCC-Basics-ErrorHandlers-ThrowErrorException.html @@ -0,0 +1,494 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
            +

            PHP Basics

            + + + + + + +
            + +
            +
            + + + + +
            +
            + + +
            +

            + ThrowErrorException + + +
            + in package + +
            + + +

            + +
            + + +
            + + + +

            Throws internal errors as exceptions.

            + +

            If registered as error handler, this converts an internal PHP error into an +ErrorException. It respects the error_reporting directive.

            +
            +

            Usage: set_error_handler(new ThrowErrorException());

            +
            +
            + + +
            + Tags + + +
            +
            +
            + author +
            +
            + +

            Sebastian Meyer sebastian.meyer@opencultureconsulting.com

            +
            + +
            +
            + + + +

            + Table of Contents + + +

            + + + + + + + + + + +

            + Methods + + +

            +
            +
            + __invoke() + +  : bool +
            +
            Convert an internal PHP error into an ErrorException.
            + +
            + + + + + + + + +
            +

            + Methods + + +

            +
            +

            + __invoke() + + +

            + + +

            Convert an internal PHP error into an ErrorException.

            + + + public + __invoke([int $errno = E_USER_ERROR ][, string $errstr = '' ][, string|null $errfile = null ][, int|null $errline = null ]) : bool + +
            +
            + +
            Parameters
            +
            +
            + $errno + : int + = E_USER_ERROR
            +
            +

            The severity of the error

            +
            + +
            +
            + $errstr + : string + = ''
            +
            +

            The error message

            +
            + +
            +
            + $errfile + : string|null + = null
            +
            +

            The name of the file the error was raised in

            +
            + +
            +
            + $errline + : int|null + = null
            +
            +

            The line number the error was raised in

            +
            + +
            +
            + + +
            + Tags + + +
            +
            +
            + throws +
            +
            + ErrorException + +

            if error_reporting is set to report the error

            +
            + +
            +
            + +
            +
            Return values
            + bool + — +

            Always returns FALSE when not throwing an exception

            +
            + +
            + +
            +
            + +
            +
            +
            +
            +
            
            +        
            + +
            +
            + + + +
            +
            +
            + +
            + On this page + + +
            + +
            +
            +
            +
            +
            +

            Search results

            + +
            +
            +
              +
              +
              +
              +
              + + +
              + + + + + + + + diff --git a/doc/classes/OCC-Basics-ErrorHandlers-TriggerExceptionError.html b/doc/classes/OCC-Basics-ErrorHandlers-TriggerExceptionError.html new file mode 100644 index 0000000..2bbc70c --- /dev/null +++ b/doc/classes/OCC-Basics-ErrorHandlers-TriggerExceptionError.html @@ -0,0 +1,442 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
              +

              PHP Basics

              + + + + + + +
              + +
              +
              + + + + +
              +
              + + +
              +

              + TriggerExceptionError + + +
              + in package + +
              + + +

              + +
              + + +
              + + + +

              Triggers errors for uncaught exceptions.

              + +

              If registered as exception handler, this catches an uncaught exception and +converts it into an internal PHP error of severity E_USER_ERROR.

              +
              +

              Usage: set_exception_handler(new TriggerExceptionError());

              +
              +
              + + +
              + Tags + + +
              +
              +
              + author +
              +
              + +

              Sebastian Meyer sebastian.meyer@opencultureconsulting.com

              +
              + +
              +
              + + + +

              + Table of Contents + + +

              + + + + + + + + + + +

              + Methods + + +

              +
              +
              + __invoke() + +  : void +
              +
              Convert an uncaught exception into an PHP error.
              + +
              + + + + + + + + +
              +

              + Methods + + +

              +
              +

              + __invoke() + + +

              + + +

              Convert an uncaught exception into an PHP error.

              + + + public + __invoke(Throwable $exception) : void + +
              +
              + +
              Parameters
              +
              +
              + $exception + : Throwable +
              +
              +

              The exception

              +
              + +
              +
              + + + + +
              +
              + +
              +
              +
              +
              +
              
              +        
              + +
              +
              + + + +
              +
              +
              + +
              + On this page + + +
              + +
              +
              +
              +
              +
              +

              Search results

              + +
              +
              +
                +
                +
                +
                +
                + + +
                + + + + + + + + diff --git a/doc/classes/OCC-Basics-InterfaceTraits-ArrayAccessTrait.html b/doc/classes/OCC-Basics-InterfaceTraits-ArrayAccessTrait.html new file mode 100644 index 0000000..fc170ab --- /dev/null +++ b/doc/classes/OCC-Basics-InterfaceTraits-ArrayAccessTrait.html @@ -0,0 +1,621 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                +

                PHP Basics

                + + + + + + +
                + +
                +
                + + + + +
                +
                + + +
                +

                + ArrayAccessTrait +

                + + + +

                A generic implementation of the ArrayAccess interface.

                + +

                Internally it accesses the protected $_data array.

                +
                + + +
                + Tags + + +
                +
                +
                + author +
                +
                + +

                Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                +
                + +
                +
                + template +
                +
                + +

                TValue of mixed

                +
                + +
                +
                + + + +

                + Table of Contents + + +

                + + + + + + + + + + +

                + Methods + + +

                +
                +
                + offsetExists() + +  : bool +
                +
                Check if the specified offset exists.
                + +
                + offsetGet() + +  : TValue|null +
                +
                Retrieve data at the specified offset.
                + +
                + offsetSet() + +  : void +
                +
                Assign a value to the specified offset.
                + +
                + offsetUnset() + +  : void +
                +
                Unset the specified offset.
                + +
                + + + + + + + + +
                +

                + Methods + + +

                +
                +

                + offsetExists() + + +

                + + +

                Check if the specified offset exists.

                + + + public + offsetExists(string|int $offset) : bool + +
                +
                APIYes
                + +
                + +
                Parameters
                +
                +
                + $offset + : string|int +
                +
                +

                The offset to check for

                +
                + +
                +
                + + + +
                +
                Return values
                + bool + — +

                Whether the offset exists

                +
                + +
                + +
                +
                +

                + offsetGet() + + +

                + + +

                Retrieve data at the specified offset.

                + + + public + offsetGet(string|int $offset) : TValue|null + +
                +
                APIYes
                + +
                + +
                Parameters
                +
                +
                + $offset + : string|int +
                +
                +

                The offset to retrieve

                +
                + +
                +
                + + + +
                +
                Return values
                + TValue|null + — +

                The value at the offset or NULL if invalid

                +
                + +
                + +
                +
                +

                + offsetSet() + + +

                + + +

                Assign a value to the specified offset.

                + + + public + offsetSet(string|int|null $offset, TValue $value) : void + +
                +
                APIYes
                + +
                + +
                Parameters
                +
                +
                + $offset + : string|int|null +
                +
                +

                The offset to assign to or NULL to append

                +
                + +
                +
                + $value + : TValue +
                +
                +

                The value to set

                +
                + +
                +
                + + + + +
                +
                +

                + offsetUnset() + + +

                + + +

                Unset the specified offset.

                + + + public + offsetUnset(string|int $offset) : void + +
                +
                APIYes
                + +
                + +
                Parameters
                +
                +
                + $offset + : string|int +
                +
                +

                The offset to unset

                +
                + +
                +
                + + + + +
                +
                + +
                +
                +
                +
                +
                
                +        
                + +
                +
                + + + +
                +
                +
                + +
                + On this page + + +
                + +
                +
                +
                +
                +
                +

                Search results

                + +
                +
                +
                  +
                  +
                  +
                  +
                  + + +
                  + + + + + + + + diff --git a/doc/classes/OCC-Basics-InterfaceTraits-CountableTrait.html b/doc/classes/OCC-Basics-InterfaceTraits-CountableTrait.html new file mode 100644 index 0000000..408284c --- /dev/null +++ b/doc/classes/OCC-Basics-InterfaceTraits-CountableTrait.html @@ -0,0 +1,427 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                  +

                  PHP Basics

                  + + + + + + +
                  + +
                  +
                  + + + + +
                  +
                  + + +
                  +

                  + CountableTrait +

                  + + + +

                  A generic implementation of the Countable interface.

                  + +

                  Internally it counts the values of the protected $_data array.

                  +
                  + + +
                  + Tags + + +
                  +
                  +
                  + author +
                  +
                  + +

                  Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                  +
                  + +
                  +
                  + template +
                  +
                  + +

                  TValue of mixed

                  +
                  + +
                  +
                  + + + +

                  + Table of Contents + + +

                  + + + + + + + + + + +

                  + Methods + + +

                  +
                  +
                  + count() + +  : int<0, max> +
                  +
                  Count the data items.
                  + +
                  + + + + + + + + +
                  +

                  + Methods + + +

                  +
                  +

                  + count() + + +

                  + + +

                  Count the data items.

                  + + + public + count() : int<0, max> + +
                  +
                  APIYes
                  + +
                  + + + + +
                  +
                  Return values
                  + int<0, max> + — +

                  The number of data items

                  +
                  + +
                  + +
                  +
                  + +
                  +
                  +
                  +
                  +
                  
                  +        
                  + +
                  +
                  + + + +
                  +
                  +
                  + +
                  + On this page + + +
                  + +
                  +
                  +
                  +
                  +
                  +

                  Search results

                  + +
                  +
                  +
                    +
                    +
                    +
                    +
                    + + +
                    + + + + + + + + diff --git a/doc/classes/OCC-Basics-InterfaceTraits-IteratorAggregateTrait.html b/doc/classes/OCC-Basics-InterfaceTraits-IteratorAggregateTrait.html new file mode 100644 index 0000000..05b7c75 --- /dev/null +++ b/doc/classes/OCC-Basics-InterfaceTraits-IteratorAggregateTrait.html @@ -0,0 +1,427 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                    +

                    PHP Basics

                    + + + + + + +
                    + +
                    +
                    + + + + +
                    +
                    + + +
                    +

                    + IteratorAggregateTrait +

                    + + + +

                    A generic implementation of the IteratorAggregate interface.

                    + +

                    Internally it iterates over the protected $_data array.

                    +
                    + + +
                    + Tags + + +
                    +
                    +
                    + author +
                    +
                    + +

                    Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                    +
                    + +
                    +
                    + template +
                    +
                    + +

                    TValue of mixed

                    +
                    + +
                    +
                    + + + +

                    + Table of Contents + + +

                    + + + + + + + + + + +

                    + Methods + + +

                    +
                    +
                    + getIterator() + +  : ArrayIterator<string|int, TValue> +
                    +
                    Retrieve an external iterator.
                    + +
                    + + + + + + + + +
                    +

                    + Methods + + +

                    +
                    +

                    + getIterator() + + +

                    + + +

                    Retrieve an external iterator.

                    + + + public + getIterator() : ArrayIterator<string|int, TValue> + +
                    +
                    APIYes
                    + +
                    + + + + +
                    +
                    Return values
                    + ArrayIterator<string|int, TValue> + — +

                    New iterator for the data array

                    +
                    + +
                    + +
                    +
                    + +
                    +
                    +
                    +
                    +
                    
                    +        
                    + +
                    +
                    + + + +
                    +
                    +
                    + +
                    + On this page + + +
                    + +
                    +
                    +
                    +
                    +
                    +

                    Search results

                    + +
                    +
                    +
                      +
                      +
                      +
                      +
                      + + +
                      + + + + + + + + diff --git a/doc/classes/OCC-Basics-InterfaceTraits-IteratorTrait.html b/doc/classes/OCC-Basics-InterfaceTraits-IteratorTrait.html new file mode 100644 index 0000000..e16e59d --- /dev/null +++ b/doc/classes/OCC-Basics-InterfaceTraits-IteratorTrait.html @@ -0,0 +1,658 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                      +

                      PHP Basics

                      + + + + + + +
                      + +
                      +
                      + + + + +
                      +
                      + + +
                      +

                      + IteratorTrait +

                      + + + +

                      A generic implementation of the Iterator interface.

                      + +

                      Internally it iterates over the protected $_data array.

                      +
                      + + +
                      + Tags + + +
                      +
                      +
                      + author +
                      +
                      + +

                      Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                      +
                      + +
                      +
                      + template +
                      +
                      + +

                      TValue of mixed

                      +
                      + +
                      +
                      + + + +

                      + Table of Contents + + +

                      + + + + + + + + + + +

                      + Methods + + +

                      +
                      +
                      + current() + +  : TValue|null +
                      +
                      Return the current item.
                      + +
                      + key() + +  : string|int|null +
                      +
                      Return the current key.
                      + +
                      + next() + +  : void +
                      +
                      Move forward to next item.
                      + +
                      + prev() + +  : void +
                      +
                      Move back to previous item.
                      + +
                      + rewind() + +  : void +
                      +
                      Rewind the iterator to the first item.
                      + +
                      + valid() + +  : bool +
                      +
                      Check if current position is valid.
                      + +
                      + + + + + + + + +
                      +

                      + Methods + + +

                      +
                      +

                      + current() + + +

                      + + +

                      Return the current item.

                      + + + public + current() : TValue|null + +
                      +
                      APIYes
                      + +
                      + + + + +
                      +
                      Return values
                      + TValue|null + — +

                      The current item or NULL if invalid

                      +
                      + +
                      + +
                      +
                      +

                      + key() + + +

                      + + +

                      Return the current key.

                      + + + public + key() : string|int|null + +
                      +
                      APIYes
                      + +
                      + + + + +
                      +
                      Return values
                      + string|int|null + — +

                      The current key or NULL if invalid

                      +
                      + +
                      + +
                      +
                      +

                      + next() + + +

                      + + +

                      Move forward to next item.

                      + + + public + next() : void + +
                      +
                      APIYes
                      + +
                      + + + + + +
                      +
                      +

                      + prev() + + +

                      + + +

                      Move back to previous item.

                      + + + public + prev() : void + +
                      +
                      APIYes
                      + +
                      + + + + + +
                      +
                      +

                      + rewind() + + +

                      + + +

                      Rewind the iterator to the first item.

                      + + + public + rewind() : void + +
                      +
                      APIYes
                      + +
                      + + + + + +
                      +
                      +

                      + valid() + + +

                      + + +

                      Check if current position is valid.

                      + + + public + valid() : bool + +
                      +
                      APIYes
                      + +
                      + + + + +
                      +
                      Return values
                      + bool + — +

                      Whether the current position is valid

                      +
                      + +
                      + +
                      +
                      + +
                      +
                      +
                      +
                      +
                      
                      +        
                      + +
                      +
                      + + + +
                      +
                      +
                      + +
                      + On this page + + +
                      + +
                      +
                      +
                      +
                      +
                      +

                      Search results

                      + +
                      +
                      +
                        +
                        +
                        +
                        +
                        + + +
                        + + + + + + + + diff --git a/doc/classes/OCC-Basics-Interfaces-ArrayAccessTrait.html b/doc/classes/OCC-Basics-Interfaces-ArrayAccessTrait.html new file mode 100644 index 0000000..d08b41e --- /dev/null +++ b/doc/classes/OCC-Basics-Interfaces-ArrayAccessTrait.html @@ -0,0 +1,621 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                        +

                        PHP Basics

                        + + + + + + +
                        + +
                        +
                        + + + + +
                        +
                        + + +
                        +

                        + ArrayAccessTrait +

                        + + + +

                        A generic implementation of the ArrayAccess interface.

                        + +

                        Internally it accesses the protected $_data array.

                        +
                        + + +
                        + Tags + + +
                        +
                        +
                        + author +
                        +
                        + +

                        Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                        +
                        + +
                        +
                        + template +
                        +
                        + +

                        TValue of mixed

                        +
                        + +
                        +
                        + + + +

                        + Table of Contents + + +

                        + + + + + + + + + + +

                        + Methods + + +

                        +
                        +
                        + offsetExists() + +  : bool +
                        +
                        Check if the specified offset exists.
                        + +
                        + offsetGet() + +  : TValue|null +
                        +
                        Retrieve data at the specified offset.
                        + +
                        + offsetSet() + +  : void +
                        +
                        Assign a value to the specified offset.
                        + +
                        + offsetUnset() + +  : void +
                        +
                        Unset the specified offset.
                        + +
                        + + + + + + + + +
                        +

                        + Methods + + +

                        +
                        +

                        + offsetExists() + + +

                        + + +

                        Check if the specified offset exists.

                        + + + public + offsetExists(string|int $offset) : bool + +
                        +
                        APIYes
                        + +
                        + +
                        Parameters
                        +
                        +
                        + $offset + : string|int +
                        +
                        +

                        The offset to check for

                        +
                        + +
                        +
                        + + + +
                        +
                        Return values
                        + bool + — +

                        Whether the offset exists

                        +
                        + +
                        + +
                        +
                        +

                        + offsetGet() + + +

                        + + +

                        Retrieve data at the specified offset.

                        + + + public + offsetGet(string|int $offset) : TValue|null + +
                        +
                        APIYes
                        + +
                        + +
                        Parameters
                        +
                        +
                        + $offset + : string|int +
                        +
                        +

                        The offset to retrieve

                        +
                        + +
                        +
                        + + + +
                        +
                        Return values
                        + TValue|null + — +

                        The value at the offset or NULL if invalid

                        +
                        + +
                        + +
                        +
                        +

                        + offsetSet() + + +

                        + + +

                        Assign a value to the specified offset.

                        + + + public + offsetSet(string|int|null $offset, TValue $value) : void + +
                        +
                        APIYes
                        + +
                        + +
                        Parameters
                        +
                        +
                        + $offset + : string|int|null +
                        +
                        +

                        The offset to assign to or NULL to append

                        +
                        + +
                        +
                        + $value + : TValue +
                        +
                        +

                        The value to set

                        +
                        + +
                        +
                        + + + + +
                        +
                        +

                        + offsetUnset() + + +

                        + + +

                        Unset the specified offset.

                        + + + public + offsetUnset(string|int $offset) : void + +
                        +
                        APIYes
                        + +
                        + +
                        Parameters
                        +
                        +
                        + $offset + : string|int +
                        +
                        +

                        The offset to unset

                        +
                        + +
                        +
                        + + + + +
                        +
                        + +
                        +
                        +
                        +
                        +
                        
                        +        
                        + +
                        +
                        + + + +
                        +
                        +
                        + +
                        + On this page + + +
                        + +
                        +
                        +
                        +
                        +
                        +

                        Search results

                        + +
                        +
                        +
                          +
                          +
                          +
                          +
                          + + +
                          + + + + + + + + diff --git a/doc/classes/OCC-Basics-Interfaces-CountableTrait.html b/doc/classes/OCC-Basics-Interfaces-CountableTrait.html new file mode 100644 index 0000000..d560ddf --- /dev/null +++ b/doc/classes/OCC-Basics-Interfaces-CountableTrait.html @@ -0,0 +1,427 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                          +

                          PHP Basics

                          + + + + + + +
                          + +
                          +
                          + + + + +
                          +
                          + + +
                          +

                          + CountableTrait +

                          + + + +

                          A generic implementation of the Countable interface.

                          + +

                          Internally it counts the values of the protected $_data array.

                          +
                          + + +
                          + Tags + + +
                          +
                          +
                          + author +
                          +
                          + +

                          Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                          +
                          + +
                          +
                          + template +
                          +
                          + +

                          TValue of mixed

                          +
                          + +
                          +
                          + + + +

                          + Table of Contents + + +

                          + + + + + + + + + + +

                          + Methods + + +

                          +
                          +
                          + count() + +  : int<0, max> +
                          +
                          Count the data items.
                          + +
                          + + + + + + + + +
                          +

                          + Methods + + +

                          +
                          +

                          + count() + + +

                          + + +

                          Count the data items.

                          + + + public + count() : int<0, max> + +
                          +
                          APIYes
                          + +
                          + + + + +
                          +
                          Return values
                          + int<0, max> + — +

                          The number of data items

                          +
                          + +
                          + +
                          +
                          + +
                          +
                          +
                          +
                          +
                          
                          +        
                          + +
                          +
                          + + + +
                          +
                          +
                          + +
                          + On this page + + +
                          + +
                          +
                          +
                          +
                          +
                          +

                          Search results

                          + +
                          +
                          +
                            +
                            +
                            +
                            +
                            + + +
                            + + + + + + + + diff --git a/doc/classes/OCC-Basics-Interfaces-IteratorAggregateTrait.html b/doc/classes/OCC-Basics-Interfaces-IteratorAggregateTrait.html new file mode 100644 index 0000000..8bef37a --- /dev/null +++ b/doc/classes/OCC-Basics-Interfaces-IteratorAggregateTrait.html @@ -0,0 +1,427 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                            +

                            PHP Basics

                            + + + + + + +
                            + +
                            +
                            + + + + +
                            +
                            + + +
                            +

                            + IteratorAggregateTrait +

                            + + + +

                            A generic implementation of the IteratorAggregate interface.

                            + +

                            Internally it iterates over the protected $_data array.

                            +
                            + + +
                            + Tags + + +
                            +
                            +
                            + author +
                            +
                            + +

                            Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                            +
                            + +
                            +
                            + template +
                            +
                            + +

                            TValue of mixed

                            +
                            + +
                            +
                            + + + +

                            + Table of Contents + + +

                            + + + + + + + + + + +

                            + Methods + + +

                            +
                            +
                            + getIterator() + +  : ArrayIterator<string|int, TValue> +
                            +
                            Retrieve an external iterator.
                            + +
                            + + + + + + + + +
                            +

                            + Methods + + +

                            +
                            +

                            + getIterator() + + +

                            + + +

                            Retrieve an external iterator.

                            + + + public + getIterator() : ArrayIterator<string|int, TValue> + +
                            +
                            APIYes
                            + +
                            + + + + +
                            +
                            Return values
                            + ArrayIterator<string|int, TValue> + — +

                            New iterator for the data array

                            +
                            + +
                            + +
                            +
                            + +
                            +
                            +
                            +
                            +
                            
                            +        
                            + +
                            +
                            + + + +
                            +
                            +
                            + +
                            + On this page + + +
                            + +
                            +
                            +
                            +
                            +
                            +

                            Search results

                            + +
                            +
                            +
                              +
                              +
                              +
                              +
                              + + +
                              + + + + + + + + diff --git a/doc/classes/OCC-Basics-Interfaces-IteratorTrait.html b/doc/classes/OCC-Basics-Interfaces-IteratorTrait.html new file mode 100644 index 0000000..afbc678 --- /dev/null +++ b/doc/classes/OCC-Basics-Interfaces-IteratorTrait.html @@ -0,0 +1,658 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                              +

                              PHP Basics

                              + + + + + + +
                              + +
                              +
                              + + + + +
                              +
                              + + +
                              +

                              + IteratorTrait +

                              + + + +

                              A generic implementation of the Iterator interface.

                              + +

                              Internally it iterates over the protected $_data array.

                              +
                              + + +
                              + Tags + + +
                              +
                              +
                              + author +
                              +
                              + +

                              Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                              +
                              + +
                              +
                              + template +
                              +
                              + +

                              TValue of mixed

                              +
                              + +
                              +
                              + + + +

                              + Table of Contents + + +

                              + + + + + + + + + + +

                              + Methods + + +

                              +
                              +
                              + current() + +  : TValue|null +
                              +
                              Return the current item.
                              + +
                              + key() + +  : string|int|null +
                              +
                              Return the current key.
                              + +
                              + next() + +  : void +
                              +
                              Move forward to next item.
                              + +
                              + prev() + +  : void +
                              +
                              Move back to previous item.
                              + +
                              + rewind() + +  : void +
                              +
                              Rewind the iterator to the first item.
                              + +
                              + valid() + +  : bool +
                              +
                              Check if current position is valid.
                              + +
                              + + + + + + + + +
                              +

                              + Methods + + +

                              +
                              +

                              + current() + + +

                              + + +

                              Return the current item.

                              + + + public + current() : TValue|null + +
                              +
                              APIYes
                              + +
                              + + + + +
                              +
                              Return values
                              + TValue|null + — +

                              The current item or NULL if invalid

                              +
                              + +
                              + +
                              +
                              +

                              + key() + + +

                              + + +

                              Return the current key.

                              + + + public + key() : string|int|null + +
                              +
                              APIYes
                              + +
                              + + + + +
                              +
                              Return values
                              + string|int|null + — +

                              The current key or NULL if invalid

                              +
                              + +
                              + +
                              +
                              +

                              + next() + + +

                              + + +

                              Move forward to next item.

                              + + + public + next() : void + +
                              +
                              APIYes
                              + +
                              + + + + + +
                              +
                              +

                              + prev() + + +

                              + + +

                              Move back to previous item.

                              + + + public + prev() : void + +
                              +
                              APIYes
                              + +
                              + + + + + +
                              +
                              +

                              + rewind() + + +

                              + + +

                              Rewind the iterator to the first item.

                              + + + public + rewind() : void + +
                              +
                              APIYes
                              + +
                              + + + + + +
                              +
                              +

                              + valid() + + +

                              + + +

                              Check if current position is valid.

                              + + + public + valid() : bool + +
                              +
                              APIYes
                              + +
                              + + + + +
                              +
                              Return values
                              + bool + — +

                              Whether the current position is valid

                              +
                              + +
                              + +
                              +
                              + +
                              +
                              +
                              +
                              +
                              
                              +        
                              + +
                              +
                              + + + +
                              +
                              +
                              + +
                              + On this page + + +
                              + +
                              +
                              +
                              +
                              +
                              +

                              Search results

                              + +
                              +
                              +
                                +
                                +
                                +
                                +
                                + + +
                                + + + + + + + + diff --git a/doc/classes/OCC-Basics-Traits-Getter.html b/doc/classes/OCC-Basics-Traits-Getter.html new file mode 100644 index 0000000..13b5d33 --- /dev/null +++ b/doc/classes/OCC-Basics-Traits-Getter.html @@ -0,0 +1,514 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                +

                                PHP Basics

                                + + + + + + +
                                + +
                                +
                                + + + + +
                                +
                                + + +
                                +

                                + Getter +

                                + + + +

                                Reads data from inaccessible properties by using magic methods.

                                + +

                                To make a protected or private property readable, provide a method named +_magicGet{Property}() which handles the reading. Replace {Property} in +the method's name with the name of the actual property (with an uppercase +first letter).

                                +
                                +

                                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.

                                +
                                +
                                + + +
                                + Tags + + +
                                +
                                +
                                + author +
                                +
                                + +

                                Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                +
                                + +
                                +
                                + + + +

                                + Table of Contents + + +

                                + + + + + + + + + + +

                                + Methods + + +

                                +
                                +
                                + __get() + +  : mixed +
                                +
                                Read data from an inaccessible property.
                                + +
                                + __isset() + +  : bool +
                                +
                                Check if an inaccessible property is set and not empty.
                                + +
                                + + + + + + + + +
                                +

                                + Methods + + +

                                +
                                +

                                + __get() + + +

                                + + +

                                Read data from an inaccessible property.

                                + + + public + __get(string $property) : mixed + +
                                +
                                + +
                                Parameters
                                +
                                +
                                + $property + : string +
                                +
                                +

                                The class property to get

                                +
                                + +
                                +
                                + + +
                                + Tags + + +
                                +
                                +
                                + throws +
                                +
                                + InvalidArgumentException + +

                                if the property or getter method do not exist

                                +
                                + +
                                +
                                + +
                                +
                                Return values
                                + mixed + — +

                                The class property's current value

                                +
                                + +
                                + +
                                +
                                +

                                + __isset() + + +

                                + + +

                                Check if an inaccessible property is set and not empty.

                                + + + public + __isset(string $property) : bool + +
                                +
                                + +
                                Parameters
                                +
                                +
                                + $property + : string +
                                +
                                +

                                The class property to check

                                +
                                + +
                                +
                                + + + +
                                +
                                Return values
                                + bool + — +

                                Whether the class property is set and not empty

                                +
                                + +
                                + +
                                +
                                + +
                                +
                                +
                                +
                                +
                                
                                +        
                                + +
                                +
                                + + + +
                                +
                                +
                                + +
                                + On this page + + +
                                + +
                                +
                                +
                                +
                                +
                                +

                                Search results

                                + +
                                +
                                +
                                  +
                                  +
                                  +
                                  +
                                  + + +
                                  + + + + + + + + diff --git a/doc/classes/OCC-Basics-Traits-OverloadingGetter.html b/doc/classes/OCC-Basics-Traits-OverloadingGetter.html new file mode 100644 index 0000000..12870d2 --- /dev/null +++ b/doc/classes/OCC-Basics-Traits-OverloadingGetter.html @@ -0,0 +1,493 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                  +

                                  PHP Basics

                                  + + + + + + +
                                  + +
                                  +
                                  + + + + +
                                  +
                                  + + +
                                  +

                                  + OverloadingGetter +

                                  + + + +

                                  Overloads a class with readable magic properties.

                                  + +

                                  Internally it reads the protected $_data array whose keys are interpreted +as property names.

                                  +
                                  +

                                  Example: Reading Foo->bar will return the value of $_data['bar'].

                                  +
                                  +
                                  + + +
                                  + Tags + + +
                                  +
                                  +
                                  + author +
                                  +
                                  + +

                                  Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                  +
                                  + +
                                  +
                                  + + + +

                                  + Table of Contents + + +

                                  + + + + + + + + + + +

                                  + Methods + + +

                                  +
                                  +
                                  + __get() + +  : mixed +
                                  +
                                  Read data from an overloaded property.
                                  + +
                                  + __isset() + +  : bool +
                                  +
                                  Check if an overloaded property is set and not empty.
                                  + +
                                  + + + + + + + + +
                                  +

                                  + Methods + + +

                                  +
                                  +

                                  + __get() + + +

                                  + + +

                                  Read data from an overloaded property.

                                  + + + public + __get(string $property) : mixed + +
                                  +
                                  + +
                                  Parameters
                                  +
                                  +
                                  + $property + : string +
                                  +
                                  +

                                  The class property to get

                                  +
                                  + +
                                  +
                                  + + + +
                                  +
                                  Return values
                                  + mixed + — +

                                  The property's current value or NULL if not set

                                  +
                                  + +
                                  + +
                                  +
                                  +

                                  + __isset() + + +

                                  + + +

                                  Check if an overloaded property is set and not empty.

                                  + + + public + __isset(string $property) : bool + +
                                  +
                                  + +
                                  Parameters
                                  +
                                  +
                                  + $property + : string +
                                  +
                                  +

                                  The class property to check

                                  +
                                  + +
                                  +
                                  + + + +
                                  +
                                  Return values
                                  + bool + — +

                                  Whether the class property is set and not empty

                                  +
                                  + +
                                  + +
                                  +
                                  + +
                                  +
                                  +
                                  +
                                  +
                                  
                                  +        
                                  + +
                                  +
                                  + + + +
                                  +
                                  +
                                  + +
                                  + On this page + + +
                                  + +
                                  +
                                  +
                                  +
                                  +
                                  +

                                  Search results

                                  + +
                                  +
                                  +
                                    +
                                    +
                                    +
                                    +
                                    + + +
                                    + + + + + + + + diff --git a/doc/classes/OCC-Basics-Traits-OverloadingSetter.html b/doc/classes/OCC-Basics-Traits-OverloadingSetter.html new file mode 100644 index 0000000..77585d7 --- /dev/null +++ b/doc/classes/OCC-Basics-Traits-OverloadingSetter.html @@ -0,0 +1,486 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                    +

                                    PHP Basics

                                    + + + + + + +
                                    + +
                                    +
                                    + + + + +
                                    +
                                    + + +
                                    +

                                    + OverloadingSetter +

                                    + + + +

                                    Overloads a class with writable magic properties.

                                    + +

                                    Internally it writes the protected $_data array whose keys are interpreted +as property names.

                                    +
                                    +

                                    Example: Foo->bar = 42; will set $_data['bar'] to 42.

                                    +
                                    +
                                    + + +
                                    + Tags + + +
                                    +
                                    +
                                    + author +
                                    +
                                    + +

                                    Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                    +
                                    + +
                                    +
                                    + + + +

                                    + Table of Contents + + +

                                    + + + + + + + + + + +

                                    + Methods + + +

                                    +
                                    +
                                    + __set() + +  : void +
                                    +
                                    Write data to an overloaded property.
                                    + +
                                    + __unset() + +  : void +
                                    +
                                    Unset an overloaded property.
                                    + +
                                    + + + + + + + + +
                                    +

                                    + Methods + + +

                                    +
                                    +

                                    + __set() + + +

                                    + + +

                                    Write data to an overloaded property.

                                    + + + public + __set(string $property, mixed $value) : void + +
                                    +
                                    + +
                                    Parameters
                                    +
                                    +
                                    + $property + : string +
                                    +
                                    +

                                    The class property to set

                                    +
                                    + +
                                    +
                                    + $value + : mixed +
                                    +
                                    +

                                    The new value of the property

                                    +
                                    + +
                                    +
                                    + + + + +
                                    +
                                    +

                                    + __unset() + + +

                                    + + +

                                    Unset an overloaded property.

                                    + + + public + __unset(string $property) : void + +
                                    +
                                    + +
                                    Parameters
                                    +
                                    +
                                    + $property + : string +
                                    +
                                    +

                                    The class property to unset

                                    +
                                    + +
                                    +
                                    + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    
                                    +        
                                    + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + +
                                    + On this page + + +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +

                                    Search results

                                    + +
                                    +
                                    +
                                      +
                                      +
                                      +
                                      +
                                      + + +
                                      + + + + + + + + diff --git a/doc/classes/OCC-Basics-Traits-Setter.html b/doc/classes/OCC-Basics-Traits-Setter.html new file mode 100644 index 0000000..2bc74b2 --- /dev/null +++ b/doc/classes/OCC-Basics-Traits-Setter.html @@ -0,0 +1,507 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                      +

                                      PHP Basics

                                      + + + + + + +
                                      + +
                                      +
                                      + + + + +
                                      +
                                      + + +
                                      +

                                      + Setter +

                                      + + + +

                                      Writes data to inaccessible properties by using magic methods.

                                      + +

                                      To make a protected or private property writable, provide a method named +_magicSet{Property}() which handles the writing. Replace {Property} in +the method's name with the name of the actual property (with an uppercase +first letter).

                                      +
                                      +

                                      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.

                                      +
                                      +
                                      + + +
                                      + Tags + + +
                                      +
                                      +
                                      + author +
                                      +
                                      + +

                                      Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                      +
                                      + +
                                      +
                                      + + + +

                                      + Table of Contents + + +

                                      + + + + + + + + + + +

                                      + Methods + + +

                                      +
                                      +
                                      + __set() + +  : void +
                                      +
                                      Write data to an inaccessible property.
                                      + +
                                      + __unset() + +  : void +
                                      +
                                      Unset an inaccessible property.
                                      + +
                                      + + + + + + + + +
                                      +

                                      + Methods + + +

                                      +
                                      +

                                      + __set() + + +

                                      + + +

                                      Write data to an inaccessible property.

                                      + + + public + __set(string $property, mixed $value) : void + +
                                      +
                                      + +
                                      Parameters
                                      +
                                      +
                                      + $property + : string +
                                      +
                                      +

                                      The class property to set

                                      +
                                      + +
                                      +
                                      + $value + : mixed +
                                      +
                                      +

                                      The new value of the property

                                      +
                                      + +
                                      +
                                      + + +
                                      + Tags + + +
                                      +
                                      +
                                      + throws +
                                      +
                                      + InvalidArgumentException + +

                                      if the property or setter method do not exist

                                      +
                                      + +
                                      +
                                      + + +
                                      +
                                      +

                                      + __unset() + + +

                                      + + +

                                      Unset an inaccessible property.

                                      + + + public + __unset(string $property) : void + +
                                      +
                                      + +
                                      Parameters
                                      +
                                      +
                                      + $property + : string +
                                      +
                                      +

                                      The class property to unset

                                      +
                                      + +
                                      +
                                      + + + + +
                                      +
                                      + +
                                      +
                                      +
                                      +
                                      +
                                      
                                      +        
                                      + +
                                      +
                                      + + + +
                                      +
                                      +
                                      + +
                                      + On this page + + +
                                      + +
                                      +
                                      +
                                      +
                                      +
                                      +

                                      Search results

                                      + +
                                      +
                                      +
                                        +
                                        +
                                        +
                                        +
                                        + + +
                                        + + + + + + + + diff --git a/doc/classes/OCC-Basics-Traits-Singleton.html b/doc/classes/OCC-Basics-Traits-Singleton.html new file mode 100644 index 0000000..5393ab3 --- /dev/null +++ b/doc/classes/OCC-Basics-Traits-Singleton.html @@ -0,0 +1,551 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                        +

                                        PHP Basics

                                        + + + + + + +
                                        + +
                                        +
                                        + + + + +
                                        +
                                        + + +
                                        +

                                        + Singleton +

                                        + + + +

                                        Allows just a single instance of the class using this trait.

                                        + +

                                        Get the singleton by calling the static method getInstance().

                                        +

                                        If there is no object yet, the constructor is called with the same arguments +as getInstance(). Any later call will just return the already instantiated +object (irrespective of the given arguments).

                                        +

                                        In order for this to work as expected, the constructor has to be implemented +as private to prevent direct instantiation of the class.

                                        +
                                        + + +
                                        + Tags + + +
                                        +
                                        +
                                        + author +
                                        +
                                        + +

                                        Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                        +
                                        + +
                                        +
                                        + + + +

                                        + Table of Contents + + +

                                        + + + + + + + + + + +

                                        + Methods + + +

                                        +
                                        +
                                        + __clone() + +  : void +
                                        +
                                        This is a singleton class, thus cloning is prohibited.
                                        + +
                                        + getInstance() + +  : static +
                                        +
                                        Get a singleton instance of this class.
                                        + +
                                        + __construct() + +  : void +
                                        +
                                        This is a singleton class, thus the constructor is private.
                                        + +
                                        + + + + + + + + +
                                        +

                                        + Methods + + +

                                        +
                                        +

                                        + __clone() + + +

                                        + + +

                                        This is a singleton class, thus cloning is prohibited.

                                        + + + public + final __clone() : void + +
                                        +
                                        + + + +
                                        + Tags + + +
                                        +
                                        +
                                        + throws +
                                        +
                                        + LogicException + +

                                        when trying to clone the singleton object

                                        +
                                        + +
                                        +
                                        + + +
                                        +
                                        +

                                        + getInstance() + + +

                                        + + +

                                        Get a singleton instance of this class.

                                        + + + public + final static getInstance(mixed ...$args) : static + +
                                        +
                                        APIYes
                                        + +
                                        + +
                                        Parameters
                                        +
                                        +
                                        + $args + : mixed +
                                        +
                                        +

                                        Constructor arguments

                                        +
                                        + +
                                        +
                                        + + + +
                                        +
                                        Return values
                                        + static + — +

                                        The singleton instance

                                        +
                                        + +
                                        + +
                                        +
                                        +

                                        + __construct() + + +

                                        + + +

                                        This is a singleton class, thus the constructor is private.

                                        + + + private + abstract __construct() : void + +
                                        +
                                        + + + +
                                        + Tags + + +
                                        +
                                        +
                                        + see +
                                        +
                                        + Singleton::getInstance() + +

                                        to get an singleton object of the class

                                        +
                                        + +
                                        +
                                        + + +
                                        +
                                        + +
                                        +
                                        +
                                        +
                                        +
                                        
                                        +        
                                        + +
                                        +
                                        + + + +
                                        +
                                        +
                                        + +
                                        + On this page + + +
                                        + +
                                        +
                                        +
                                        +
                                        +
                                        +

                                        Search results

                                        + +
                                        +
                                        +
                                          +
                                          +
                                          +
                                          +
                                          + + +
                                          + + + + + + + + diff --git a/doc/css/base.css b/doc/css/base.css new file mode 100644 index 0000000..8b182de --- /dev/null +++ b/doc/css/base.css @@ -0,0 +1,1231 @@ + + +:root { + /* Typography */ + --font-primary: 'Open Sans', Helvetica, Arial, sans-serif; + --font-secondary: 'Open Sans', Helvetica, Arial, sans-serif; + --font-monospace: 'Source Code Pro', monospace; + --line-height--primary: 1.6; + --letter-spacing--primary: .05rem; + --text-base-size: 1em; + --text-scale-ratio: 1.2; + + --text-xxs: calc(var(--text-base-size) / var(--text-scale-ratio) / var(--text-scale-ratio) / var(--text-scale-ratio)); + --text-xs: calc(var(--text-base-size) / var(--text-scale-ratio) / var(--text-scale-ratio)); + --text-sm: calc(var(--text-base-size) / var(--text-scale-ratio)); + --text-md: var(--text-base-size); + --text-lg: calc(var(--text-base-size) * var(--text-scale-ratio)); + --text-xl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio)); + --text-xxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); + --text-xxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); + --text-xxxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); + --text-xxxxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); + + --color-hue-red: 4; + --color-hue-pink: 340; + --color-hue-purple: 291; + --color-hue-deep-purple: 262; + --color-hue-indigo: 231; + --color-hue-blue: 207; + --color-hue-light-blue: 199; + --color-hue-cyan: 187; + --color-hue-teal: 174; + --color-hue-green: 122; + --color-hue-phpdocumentor-green: 96; + --color-hue-light-green: 88; + --color-hue-lime: 66; + --color-hue-yellow: 54; + --color-hue-amber: 45; + --color-hue-orange: 36; + --color-hue-deep-orange: 14; + --color-hue-brown: 16; + + /* Colors */ + --primary-color-hue: var(--color-hue-orange, --color-hue-phpdocumentor-green); + --primary-color-saturation: 57%; + --primary-color: hsl(var(--primary-color-hue), var(--primary-color-saturation), 60%); + --primary-color-darken: hsl(var(--primary-color-hue), var(--primary-color-saturation), 40%); + --primary-color-darker: hsl(var(--primary-color-hue), var(--primary-color-saturation), 25%); + --primary-color-darkest: hsl(var(--primary-color-hue), var(--primary-color-saturation), 10%); + --primary-color-lighten: hsl(var(--primary-color-hue), calc(var(--primary-color-saturation) - 20%), 85%); + --primary-color-lighter: hsl(var(--primary-color-hue), calc(var(--primary-color-saturation) - 45%), 97.5%); + --dark-gray: #d1d1d1; + --light-gray: #f0f0f0; + + --text-color: var(--primary-color-darkest); + + --header-height: var(--spacing-xxxxl); + --header-bg-color: var(--primary-color); + --code-background-color: var(--primary-color-lighter); + --code-border-color: --primary-color-lighten; + --button-border-color: var(--primary-color-darken); + --button-color: transparent; + --button-color-primary: var(--primary-color); + --button-text-color: #555; + --button-text-color-primary: white; + --popover-background-color: rgba(255, 255, 255, 0.75); + --link-color-primary: var(--primary-color-darker); + --link-hover-color-primary: var(--primary-color-darkest); + --form-field-border-color: var(--dark-gray); + --form-field-color: #fff; + --admonition-success-color: var(--primary-color); + --admonition-border-color: silver; + --table-separator-color: var(--primary-color-lighten); + --title-text-color: var(--primary-color); + + --sidebar-border-color: var(--primary-color-lighten); + + /* Grid */ + --container-width: 1400px; + + /* Spacing */ + --spacing-base-size: 1rem; + --spacing-scale-ratio: 1.5; + + --spacing-xxxs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio)); + --spacing-xxs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio)); + --spacing-xs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio)); + --spacing-sm: calc(var(--spacing-base-size) / var(--spacing-scale-ratio)); + --spacing-md: var(--spacing-base-size); + --spacing-lg: calc(var(--spacing-base-size) * var(--spacing-scale-ratio)); + --spacing-xl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); + --spacing-xxl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); + --spacing-xxxl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); + --spacing-xxxxl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); + + --border-radius-base-size: 3px; +} + +/* Base Styles +-------------------------------------------------- */ +body { + color: var(--text-color); + font-family: var(--font-primary); + font-size: var(--text-md); + letter-spacing: var(--letter-spacing--primary); + line-height: var(--line-height--primary); + width: 100%; +} + +.phpdocumentor h1, +.phpdocumentor h2, +.phpdocumentor h3, +.phpdocumentor h4, +.phpdocumentor h5, +.phpdocumentor h6 { + margin-bottom: var(--spacing-lg); + margin-top: var(--spacing-lg); + font-weight: 600; +} + +.phpdocumentor h1 { + font-size: var(--text-xxxxl); + letter-spacing: var(--letter-spacing--primary); + line-height: 1.2; + margin-top: 0; +} + +.phpdocumentor h2 { + font-size: var(--text-xxxl); + letter-spacing: var(--letter-spacing--primary); + line-height: 1.25; +} + +.phpdocumentor h3 { + font-size: var(--text-xxl); + letter-spacing: var(--letter-spacing--primary); + line-height: 1.3; +} + +.phpdocumentor h4 { + font-size: var(--text-xl); + letter-spacing: calc(var(--letter-spacing--primary) / 2); + line-height: 1.35; + margin-bottom: var(--spacing-md); +} + +.phpdocumentor h5 { + font-size: var(--text-lg); + letter-spacing: calc(var(--letter-spacing--primary) / 4); + line-height: 1.5; + margin-bottom: var(--spacing-md); + margin-top: var(--spacing-md); +} + +.phpdocumentor h6 { + font-size: var(--text-md); + letter-spacing: 0; + line-height: var(--line-height--primary); + margin-bottom: var(--spacing-md); + margin-top: var(--spacing-md); +} +.phpdocumentor h1 .headerlink, +.phpdocumentor h2 .headerlink, +.phpdocumentor h3 .headerlink, +.phpdocumentor h4 .headerlink, +.phpdocumentor h5 .headerlink, +.phpdocumentor h6 .headerlink +{ + display: none; +} + +@media (min-width: 550px) { + .phpdocumentor h1 .headerlink, + .phpdocumentor h2 .headerlink, + .phpdocumentor h3 .headerlink, + .phpdocumentor h4 .headerlink, + .phpdocumentor h5 .headerlink, + .phpdocumentor h6 .headerlink { + display: inline; + transition: all .3s ease-in-out; + opacity: 0; + text-decoration: none; + color: silver; + font-size: 80%; + } + + .phpdocumentor h1:hover .headerlink, + .phpdocumentor h2:hover .headerlink, + .phpdocumentor h3:hover .headerlink, + .phpdocumentor h4:hover .headerlink, + .phpdocumentor h5:hover .headerlink, + .phpdocumentor h6:hover .headerlink { + opacity: 1; + } +} +.phpdocumentor p { + margin-top: 0; + margin-bottom: var(--spacing-md); +} +.phpdocumentor figure { + margin-bottom: var(--spacing-md); +} + +.phpdocumentor figcaption { + text-align: center; + font-style: italic; + font-size: 80%; +} + +.phpdocumentor-uml-diagram svg { + max-width: 100%; + height: auto !important; +} +.phpdocumentor-line { + border-top: 1px solid #E1E1E1; + border-width: 0; + margin-bottom: var(--spacing-xxl); + margin-top: var(--spacing-xxl); +} +.phpdocumentor-section { + box-sizing: border-box; + margin: 0 auto; + max-width: var(--container-width); + padding: 0 var(--spacing-sm); + position: relative; + width: 100%; +} + +@media (min-width: 550px) { + .phpdocumentor-section { + padding: 0 var(--spacing-lg); + } +} + +@media (min-width: 1200px) { + .phpdocumentor-section { + padding: 0; + width: 95%; + } +} +.phpdocumentor-column { + box-sizing: border-box; + float: left; + width: 100%; +} + +@media (min-width: 550px) { + .phpdocumentor-column { + margin-left: 4%; + } + + .phpdocumentor-column:first-child { + margin-left: 0; + } + + .-one.phpdocumentor-column { + width: 4.66666666667%; + } + + .-two.phpdocumentor-column { + width: 13.3333333333%; + } + + .-three.phpdocumentor-column { + width: 22%; + } + + .-four.phpdocumentor-column { + width: 30.6666666667%; + } + + .-five.phpdocumentor-column { + width: 39.3333333333%; + } + + .-six.phpdocumentor-column { + width: 48%; + } + + .-seven.phpdocumentor-column { + width: 56.6666666667%; + } + + .-eight.phpdocumentor-column { + width: 65.3333333333%; + } + + .-nine.phpdocumentor-column { + width: 74.0%; + } + + .-ten.phpdocumentor-column { + width: 82.6666666667%; + } + + .-eleven.phpdocumentor-column { + width: 91.3333333333%; + } + + .-twelve.phpdocumentor-column { + margin-left: 0; + width: 100%; + } + + .-one-third.phpdocumentor-column { + width: 30.6666666667%; + } + + .-two-thirds.phpdocumentor-column { + width: 65.3333333333%; + } + + .-one-half.phpdocumentor-column { + width: 48%; + } + + /* Offsets */ + .-offset-by-one.phpdocumentor-column { + margin-left: 8.66666666667%; + } + + .-offset-by-two.phpdocumentor-column { + margin-left: 17.3333333333%; + } + + .-offset-by-three.phpdocumentor-column { + margin-left: 26%; + } + + .-offset-by-four.phpdocumentor-column { + margin-left: 34.6666666667%; + } + + .-offset-by-five.phpdocumentor-column { + margin-left: 43.3333333333%; + } + + .-offset-by-six.phpdocumentor-column { + margin-left: 52%; + } + + .-offset-by-seven.phpdocumentor-column { + margin-left: 60.6666666667%; + } + + .-offset-by-eight.phpdocumentor-column { + margin-left: 69.3333333333%; + } + + .-offset-by-nine.phpdocumentor-column { + margin-left: 78.0%; + } + + .-offset-by-ten.phpdocumentor-column { + margin-left: 86.6666666667%; + } + + .-offset-by-eleven.phpdocumentor-column { + margin-left: 95.3333333333%; + } + + .-offset-by-one-third.phpdocumentor-column { + margin-left: 34.6666666667%; + } + + .-offset-by-two-thirds.phpdocumentor-column { + margin-left: 69.3333333333%; + } + + .-offset-by-one-half.phpdocumentor-column { + margin-left: 52%; + } +} +.phpdocumentor a { + color: var(--link-color-primary); +} + +.phpdocumentor a:hover { + color: var(--link-hover-color-primary); +} +.phpdocumentor-button { + background-color: var(--button-color); + border: 1px solid var(--button-border-color); + border-radius: var(--border-radius-base-size); + box-sizing: border-box; + color: var(--button-text-color); + cursor: pointer; + display: inline-block; + font-size: var(--text-sm); + font-weight: 600; + height: 38px; + letter-spacing: .1rem; + line-height: 38px; + padding: 0 var(--spacing-xxl); + text-align: center; + text-decoration: none; + text-transform: uppercase; + white-space: nowrap; + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-button .-wide { + width: 100%; +} + +.phpdocumentor-button:hover, +.phpdocumentor-button:focus { + border-color: #888; + color: #333; + outline: 0; +} + +.phpdocumentor-button.-primary { + background-color: var(--button-color-primary); + border-color: var(--button-color-primary); + color: var(--button-text-color-primary); +} + +.phpdocumentor-button.-primary:hover, +.phpdocumentor-button.-primary:focus { + background-color: var(--link-color-primary); + border-color: var(--link-color-primary); + color: var(--button-text-color-primary); +} +.phpdocumentor form { + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-field { + background-color: var(--form-field-color); + border: 1px solid var(--form-field-border-color); + border-radius: var(--border-radius-base-size); + box-shadow: none; + box-sizing: border-box; + height: 38px; + padding: var(--spacing-xxxs) var(--spacing-xxs); /* The 6px vertically centers text on FF, ignored by Webkit */ + margin-bottom: var(--spacing-md); +} + +/* Removes awkward default styles on some inputs for iOS */ +input[type="email"], +input[type="number"], +input[type="search"], +input[type="text"], +input[type="tel"], +input[type="url"], +input[type="password"], +textarea { + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; +} + +.phpdocumentor-textarea { + min-height: 65px; + padding-bottom: var(--spacing-xxxs); + padding-top: var(--spacing-xxxs); +} + +.phpdocumentor-field:focus { + border: 1px solid var(--button-color-primary); + outline: 0; +} + +label.phpdocumentor-label { + display: block; + margin-bottom: var(--spacing-xs); +} + +.phpdocumentor-fieldset { + border-width: 0; + padding: 0; +} + +input[type="checkbox"].phpdocumentor-field, +input[type="radio"].phpdocumentor-field { + display: inline; +} +.phpdocumentor-column ul, +div.phpdocumentor-list > ul, +ul.phpdocumentor-list { + list-style: circle; +} + +.phpdocumentor-column ol, +div.phpdocumentor-list > ol, +ol.phpdocumentor-list { + list-style: decimal; +} + + +.phpdocumentor-column ul, +div.phpdocumentor-list > ul, +ol.phpdocumentor-list, +ul.phpdocumentor-list { + margin-top: 0; + padding-left: var(--spacing-md); + margin-bottom: var(--spacing-sm); +} + +.phpdocumentor-column ul.-clean, +div.phpdocumentor-list > ul.-clean, +ul.phpdocumentor-list.-clean { + list-style: none; + padding-left: 0; +} + +dl { + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-column ul ul, +div.phpdocumentor-list > ul ul, +ul.phpdocumentor-list ul.phpdocumentor-list, +ul.phpdocumentor-list ol.phpdocumentor-list, +ol.phpdocumentor-list ol.phpdocumentor-list, +ol.phpdocumentor-list ul.phpdocumentor-list { + font-size: var(--text-sm); + margin: 0 0 0 calc(var(--spacing-xs) * 2); +} + +.phpdocumentor-column ul li, +.phpdocumentor-list li { + padding-bottom: var(--spacing-xs); +} + +.phpdocumentor dl dt { + margin-bottom: var(--spacing-xs); +} + +.phpdocumentor dl dd { + margin-bottom: var(--spacing-md); +} +.phpdocumentor pre { + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-code { + font-family: var(--font-monospace); + background: var(--code-background-color); + border: 1px solid var(--code-border-color); + border-radius: var(--border-radius-base-size); + font-size: var(--text-sm); + padding: var(--spacing-sm) var(--spacing-md); + width: 100%; + box-sizing: border-box; +} + +.phpdocumentor-code.-dark { + background: var(--primary-color-darkest); + color: var(--light-gray); + box-shadow: 0 2px 3px var(--dark-gray); +} + +pre > .phpdocumentor-code { + display: block; + white-space: pre; +} +.phpdocumentor blockquote { + border-left: 4px solid var(--primary-color-darken); + margin: var(--spacing-md) 0; + padding: var(--spacing-xs) var(--spacing-sm); + color: var(--primary-color-darker); + font-style: italic; +} + +.phpdocumentor blockquote p:last-of-type { + margin-bottom: 0; +} +.phpdocumentor table { + margin-bottom: var(--spacing-md); +} + +th.phpdocumentor-heading, +td.phpdocumentor-cell { + border-bottom: 1px solid var(--table-separator-color); + padding: var(--spacing-sm) var(--spacing-md); + text-align: left; +} + +th.phpdocumentor-heading:first-child, +td.phpdocumentor-cell:first-child { + padding-left: 0; +} + +th.phpdocumentor-heading:last-child, +td.phpdocumentor-cell:last-child { + padding-right: 0; +} +.phpdocumentor-label-line { + display: flex; + flex-direction: row; + gap: 1rem +} + +.phpdocumentor-label { + background: #f6f6f6; + border-radius: .25rem; + font-size: 80%; + display: inline-block; + overflow: hidden +} + +/* +It would be better if the phpdocumentor-element class were to become a flex element with a gap, but for #3337 that +is too big a fix and needs to be done in a new design iteration. +*/ +.phpdocumentor-signature + .phpdocumentor-label-line .phpdocumentor-label { + margin-top: var(--spacing-sm); +} + +.phpdocumentor-label span { + display: inline-block; + padding: .125rem .5rem; +} + +.phpdocumentor-label--success span:last-of-type { + background: #abe1ab; +} + +.phpdocumentor-header { + display: flex; + flex-direction: row; + align-items: stretch; + flex-wrap: wrap; + justify-content: space-between; + height: auto; + padding: var(--spacing-md) var(--spacing-md); +} + +.phpdocumentor-header__menu-button { + position: absolute; + top: -100%; + left: -100%; +} + +.phpdocumentor-header__menu-icon { + font-size: 2rem; + color: var(--primary-color); +} + +.phpdocumentor-header__menu-button:checked ~ .phpdocumentor-topnav { + max-height: 250px; + padding-top: var(--spacing-md); +} + +@media (min-width: 1000px) { + .phpdocumentor-header { + flex-direction: row; + padding: var(--spacing-lg) var(--spacing-lg); + min-height: var(--header-height); + } + + .phpdocumentor-header__menu-icon { + display: none; + } +} + +@media (min-width: 1000px) { + .phpdocumentor-header { + padding-top: 0; + padding-bottom: 0; + } +} +@media (min-width: 1200px) { + .phpdocumentor-header { + padding: 0; + } +} +.phpdocumentor-title { + box-sizing: border-box; + color: var(--title-text-color); + font-size: var(--text-xxl); + letter-spacing: .05rem; + font-weight: normal; + width: auto; + margin: 0; + display: flex; + align-items: center; +} + +.phpdocumentor-title.-without-divider { + border: none; +} + +.phpdocumentor-title__link { + transition: all .3s ease-out; + display: flex; + color: var(--title-text-color); + text-decoration: none; + font-weight: normal; + white-space: nowrap; + transform: scale(.75); + transform-origin: left; +} + +.phpdocumentor-title__link:hover { + transform: perspective(15rem) translateX(.5rem); + font-weight: 600; +} + +@media (min-width: 1000px) { + .phpdocumentor-title { + width: 22%; + border-right: var(--sidebar-border-color) solid 1px; + } + + .phpdocumentor-title__link { + transform-origin: left; + } +} + +@media (min-width: 1000px) { + .phpdocumentor-title__link { + transform: scale(.85); + } +} + +@media (min-width: 1200px) { + .phpdocumentor-title__link { + transform: scale(1); + } +} +.phpdocumentor-topnav { + display: flex; + align-items: center; + margin: 0; + max-height: 0; + overflow: hidden; + transition: max-height 0.2s ease-out; + flex-basis: 100%; +} + +.phpdocumentor-topnav__menu { + text-align: right; + list-style: none; + margin: 0; + padding: 0; + flex: 1; + display: flex; + flex-flow: row wrap; + justify-content: center; +} + +.phpdocumentor-topnav__menu-item { + margin: 0; + width: 100%; + display: inline-block; + text-align: center; + padding: var(--spacing-sm) 0 +} + +.phpdocumentor-topnav__menu-item.-social { + width: auto; + padding: var(--spacing-sm) +} + +.phpdocumentor-topnav__menu-item a { + display: inline-block; + color: var(--text-color); + text-decoration: none; + font-size: var(--text-lg); + transition: all .3s ease-out; + border-bottom: 1px dotted transparent; + line-height: 1; +} + +.phpdocumentor-topnav__menu-item a:hover { + transform: perspective(15rem) translateY(.1rem); + border-bottom: 1px dotted var(--text-color); +} + +@media (min-width: 1000px) { + .phpdocumentor-topnav { + max-height: none; + overflow: visible; + flex-basis: auto; + } + + .phpdocumentor-topnav__menu { + display: flex; + flex-flow: row wrap; + justify-content: flex-end; + } + + .phpdocumentor-topnav__menu-item, + .phpdocumentor-topnav__menu-item.-social { + width: auto; + display: inline; + text-align: right; + padding: 0 0 0 var(--spacing-md) + } +} +.phpdocumentor-sidebar { + margin: 0; + overflow: hidden; + max-height: 0; +} + +.phpdocumentor .phpdocumentor-sidebar .phpdocumentor-list { + padding: var(--spacing-xs) var(--spacing-md); + list-style: none; + margin: 0; +} + +.phpdocumentor .phpdocumentor-sidebar li { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + padding: 0 0 var(--spacing-xxxs) var(--spacing-md); +} + +.phpdocumentor .phpdocumentor-sidebar abbr, +.phpdocumentor .phpdocumentor-sidebar a { + text-decoration: none; + border-bottom: none; + color: var(--text-color); + font-size: var(--text-md); + padding-left: 0; + transition: padding-left .4s ease-out; +} + +.phpdocumentor .phpdocumentor-sidebar a:hover, +.phpdocumentor .phpdocumentor-sidebar a.-active { + padding-left: 5px; + font-weight: 600; +} + +.phpdocumentor .phpdocumentor-sidebar__category > * { + border-left: 1px solid var(--primary-color-lighten); +} + +.phpdocumentor .phpdocumentor-sidebar__category { + margin-bottom: var(--spacing-lg); +} + +.phpdocumentor .phpdocumentor-sidebar__category-header { + font-size: var(--text-md); + margin-top: 0; + margin-bottom: var(--spacing-xs); + color: var(--link-color-primary); + font-weight: 600; + border-left: 0; +} + +.phpdocumentor .phpdocumentor-sidebar__root-package, +.phpdocumentor .phpdocumentor-sidebar__root-namespace { + font-size: var(--text-md); + margin: 0; + padding-top: var(--spacing-xs); + padding-left: var(--spacing-md); + color: var(--text-color); + font-weight: normal; +} + +@media (min-width: 550px) { + .phpdocumentor-sidebar { + border-right: var(--sidebar-border-color) solid 1px; + } +} + +.phpdocumentor-sidebar__menu-button { + position: absolute; + top: -100%; + left: -100%; +} + +.phpdocumentor-sidebar__menu-icon { + font-size: var(--text-md); + font-weight: 600; + background: var(--primary-color); + color: white; + margin: 0 0 var(--spacing-lg); + display: block; + padding: var(--spacing-sm); + text-align: center; + border-radius: 3px; + text-transform: uppercase; + letter-spacing: .15rem; +} + +.phpdocumentor-sidebar__menu-button:checked ~ .phpdocumentor-sidebar { + max-height: 100%; + padding-top: var(--spacing-md); +} + +@media (min-width: 550px) { + .phpdocumentor-sidebar { + overflow: visible; + max-height: 100%; + } + + .phpdocumentor-sidebar__menu-icon { + display: none; + } +} +.phpdocumentor-admonition { + border: 1px solid var(--admonition-border-color); + border-radius: var(--border-radius-base-size); + border-color: var(--primary-color-lighten); + background-color: var(--primary-color-lighter); + padding: var(--spacing-lg); + margin: var(--spacing-lg) 0; + display: flex; + flex-direction: row; + align-items: flex-start; +} + +.phpdocumentor-admonition p:last-of-type { + margin-bottom: 0; +} + +.phpdocumentor-admonition--success, +.phpdocumentor-admonition.-success { + border-color: var(--admonition-success-color); +} + +.phpdocumentor-admonition__icon { + margin-right: var(--spacing-md); + color: var(--primary-color); + max-width: 3rem; +} +.phpdocumentor ul.phpdocumentor-breadcrumbs { + font-size: var(--text-md); + list-style: none; + margin: 0; + padding: 0; +} + +.phpdocumentor ul.phpdocumentor-breadcrumbs a { + color: var(--text-color); + text-decoration: none; +} + +.phpdocumentor ul.phpdocumentor-breadcrumbs > li { + display: inline-block; + margin: 0; +} + +.phpdocumentor ul.phpdocumentor-breadcrumbs > li + li:before { + color: var(--dark-gray); + content: "\\\A0"; + padding: 0; +} +.phpdocumentor .phpdocumentor-back-to-top { + position: fixed; + bottom: 2rem; + font-size: 2.5rem; + opacity: .25; + transition: all .3s ease-in-out; + right: 2rem; +} + +.phpdocumentor .phpdocumentor-back-to-top:hover { + color: var(--link-color-primary); + opacity: 1; +} +.phpdocumentor-search { + position: relative; + display: none; /** disable by default for non-js flow */ + opacity: .3; /** white-out default for loading indication */ + transition: opacity .3s, background .3s; + margin: var(--spacing-sm) 0; + flex: 1; + min-width: 100%; +} + +.phpdocumentor-search label { + display: flex; + align-items: center; + flex: 1; +} + +.phpdocumentor-search__icon { + color: var(--primary-color); + margin-right: var(--spacing-sm); + width: 1rem; + height: 1rem; +} + +.phpdocumentor-search--enabled { + display: flex; +} + +.phpdocumentor-search--active { + opacity: 1; +} + +.phpdocumentor-search input:disabled { + background-color: lightgray; +} + +.phpdocumentor-search__field:focus, +.phpdocumentor-search__field { + margin-bottom: 0; + border: 0; + border-bottom: 2px solid var(--primary-color); + padding: 0; + border-radius: 0; + flex: 1; +} + +@media (min-width: 1000px) { + .phpdocumentor-search { + min-width: auto; + max-width: 20rem; + margin: 0 0 0 auto; + } +} +.phpdocumentor-search-results { + backdrop-filter: blur(5px); + background: var(--popover-background-color); + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + padding: 0; + opacity: 1; + pointer-events: all; + + transition: opacity .3s, background .3s; +} + +.phpdocumentor-search-results--hidden { + background: transparent; + backdrop-filter: blur(0); + opacity: 0; + pointer-events: none; +} + +.phpdocumentor-search-results__dialog { + width: 100%; + background: white; + max-height: 100%; + display: flex; + flex-direction: column; +} + +.phpdocumentor-search-results__body { + overflow: auto; +} + +.phpdocumentor-search-results__header { + padding: var(--spacing-lg); + display: flex; + justify-content: space-between; + background: var(--primary-color-darken); + color: white; + align-items: center; +} + +.phpdocumentor-search-results__close { + font-size: var(--text-xl); + background: none; + border: none; + padding: 0; + margin: 0; +} + +.phpdocumentor .phpdocumentor-search-results__title { + font-size: var(--text-xl); + margin-bottom: 0; +} + +.phpdocumentor-search-results__entries { + list-style: none; + padding: 0 var(--spacing-lg); + margin: 0; +} + +.phpdocumentor-search-results__entry { + border-bottom: 1px solid var(--table-separator-color); + padding: var(--spacing-sm) 0; + text-align: left; +} + +.phpdocumentor-search-results__entry a { + display: block; +} + +.phpdocumentor-search-results__entry small { + margin-top: var(--spacing-xs); + margin-bottom: var(--spacing-md); + color: var(--primary-color-darker); + display: block; + word-break: break-word; +} + +.phpdocumentor-search-results__entry h3 { + font-size: var(--text-lg); + margin: 0; +} + +@media (min-width: 550px) { + .phpdocumentor-search-results { + padding: 0 var(--spacing-lg); + } + + .phpdocumentor-search-results__entry h3 { + font-size: var(--text-xxl); + } + + .phpdocumentor-search-results__dialog { + margin: var(--spacing-xl) auto; + max-width: 40rem; + background: white; + border: 1px solid silver; + box-shadow: 0 2px 5px silver; + max-height: 40rem; + border-radius: 3px; + } +} +.phpdocumentor-modal { + position: fixed; + width: 100vw; + height: 100vh; + opacity: 0; + visibility: hidden; + transition: all 0.3s ease; + top: 0; + left: 0; + display: flex; + align-items: center; + justify-content: center; + z-index: 1; +} + +.phpdocumentor-modal__open { + visibility: visible; + opacity: 1; + transition-delay: 0s; +} + +.phpdocumentor-modal-bg { + position: absolute; + background: gray; + opacity: 50%; + width: 100%; + height: 100%; +} + +.phpdocumentor-modal-container { + border-radius: 1em; + background: #fff; + position: relative; + padding: 2em; + box-sizing: border-box; + max-width:100vw; +} + +.phpdocumentor-modal__close { + position: absolute; + right: 0.75em; + top: 0.75em; + outline: none; + appearance: none; + color: var(--primary-color); + background: none; + border: 0px; + font-weight: bold; + cursor: pointer; +} +.phpdocumentor-on-this-page__sidebar { + display: none; +} + +.phpdocumentor-on-this-page__title { + display: block; + font-weight: bold; + margin-bottom: var(--spacing-sm); + color: var(--link-color-primary); +} + +@media (min-width: 1000px) { + .phpdocumentor-on-this-page__sidebar { + display: block; + position: relative; + } + + .phpdocumentor-on-this-page__content::-webkit-scrollbar, + [scrollbars]::-webkit-scrollbar { + height: 8px; + width: 8px; + } + + .phpdocumentor-on-this-page__content::-webkit-scrollbar-corner, + [scrollbars]::-webkit-scrollbar-corner { + background: 0; + } + + .phpdocumentor-on-this-page__content::-webkit-scrollbar-thumb, + [scrollbars]::-webkit-scrollbar-thumb { + background: rgba(128,134,139,0.26); + border-radius: 8px; + } + + .phpdocumentor-on-this-page__content { + position: sticky; + height: calc(100vh - var(--header-height)); + overflow-y: auto; + border-left: 1px solid var(--sidebar-border-color); + padding-left: var(--spacing-lg); + font-size: 90%; + top: -1px; /* Needed for the javascript to make the .-stuck trick work */ + flex: 0 1 auto; + width: 15vw; + } + + .phpdocumentor-on-this-page__content.-stuck { + height: 100vh; + } + + .phpdocumentor-on-this-page__content li { + word-break: break-all; + line-height: normal; + } +} + +/* Used for screen readers and such */ +.visually-hidden { + display: none; +} + +.float-right { + float: right; +} + +.float-left { + float: left; +} diff --git a/doc/css/normalize.css b/doc/css/normalize.css new file mode 100644 index 0000000..653dc00 --- /dev/null +++ b/doc/css/normalize.css @@ -0,0 +1,427 @@ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none !important; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ + +code, +kbd, +pre, +samp { + font-family: var(--font-monospace); + font-size: 1em; +} + +/* Forms + ========================================================================== */ + +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ + +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} diff --git a/doc/css/template.css b/doc/css/template.css new file mode 100644 index 0000000..fae3a7d --- /dev/null +++ b/doc/css/template.css @@ -0,0 +1,283 @@ + +.phpdocumentor-content { + position: relative; + display: flex; + gap: var(--spacing-md); +} + +.phpdocumentor-content > section:first-of-type { + width: 75%; + flex: 1 1 auto; +} + +@media (min-width: 1900px) { + .phpdocumentor-content > section:first-of-type { + width: 100%; + flex: 1 1 auto; + } +} + +.phpdocumentor .phpdocumentor-content__title { + margin-top: 0; +} +.phpdocumentor-summary { + font-style: italic; +} +.phpdocumentor-description { + margin-bottom: var(--spacing-md); +} +.phpdocumentor-element { + position: relative; +} + +.phpdocumentor-element .phpdocumentor-element { + border: 1px solid var(--primary-color-lighten); + margin-bottom: var(--spacing-md); + padding: var(--spacing-xs); + border-radius: 5px; +} + +.phpdocumentor-element.-deprecated .phpdocumentor-element__name { + text-decoration: line-through; +} + +@media (min-width: 550px) { + .phpdocumentor-element .phpdocumentor-element { + margin-bottom: var(--spacing-lg); + padding: var(--spacing-md); + } +} + +.phpdocumentor-element__modifier { + font-size: var(--text-xxs); + padding: calc(var(--spacing-base-size) / 4) calc(var(--spacing-base-size) / 2); + color: var(--text-color); + background-color: var(--light-gray); + border-radius: 3px; + text-transform: uppercase; +} + +.phpdocumentor .phpdocumentor-elements__header { + margin-top: var(--spacing-xxl); + margin-bottom: var(--spacing-lg); +} + +.phpdocumentor .phpdocumentor-element__name { + line-height: 1; + margin-top: 0; + font-weight: 300; + font-size: var(--text-lg); + word-break: break-all; + margin-bottom: var(--spacing-sm); +} + +@media (min-width: 550px) { + .phpdocumentor .phpdocumentor-element__name { + font-size: var(--text-xl); + margin-bottom: var(--spacing-xs); + } +} + +@media (min-width: 1200px) { + .phpdocumentor .phpdocumentor-element__name { + margin-bottom: var(--spacing-md); + } +} + +.phpdocumentor-element__package, +.phpdocumentor-element__extends, +.phpdocumentor-element__implements { + display: block; + font-size: var(--text-xxs); + font-weight: normal; + opacity: .7; +} + +.phpdocumentor-element__package .phpdocumentor-breadcrumbs { + display: inline; +} +.phpdocumentor .phpdocumentor-signature { + display: block; + font-size: var(--text-sm); + border: 1px solid #f0f0f0; +} + +.phpdocumentor .phpdocumentor-signature.-deprecated .phpdocumentor-signature__name { + text-decoration: line-through; +} + +@media (min-width: 550px) { + .phpdocumentor .phpdocumentor-signature { + margin-left: calc(var(--spacing-xl) * -1); + width: calc(100% + var(--spacing-xl)); + } +} + +.phpdocumentor-table-of-contents { +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry { + margin-bottom: var(--spacing-xxs); + margin-left: 2rem; + display: flex; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry > a { + flex: 0 1 auto; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry > span { + flex: 1; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry:after { + content: ''; + height: 12px; + width: 12px; + left: 16px; + position: absolute; +} +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-private:after { + background: url('data:image/svg+xml;utf8,') no-repeat; +} +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-protected:after { + left: 13px; + background: url('data:image/svg+xml;utf8,') no-repeat; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry:before { + width: 1.25rem; + height: 1.25rem; + line-height: 1.25rem; + background: transparent url('data:image/svg+xml;utf8,') no-repeat center center; + content: ''; + position: absolute; + left: 0; + border-radius: 50%; + font-weight: 600; + color: white; + text-align: center; + font-size: .75rem; + margin-top: .2rem; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-method:before { + content: 'M'; + color: ''; + background-image: url('data:image/svg+xml;utf8,'); +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-function:before { + content: 'M'; + color: ' 36'; + background-image: url('data:image/svg+xml;utf8,'); +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-property:before { + content: 'P' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-constant:before { + content: 'C'; + background-color: transparent; + background-image: url('data:image/svg+xml;utf8,'); +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-class:before { + content: 'C' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-interface:before { + content: 'I' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-trait:before { + content: 'T' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-namespace:before { + content: 'N' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-package:before { + content: 'P' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-enum:before { + content: 'E' +} + +.phpdocumentor-table-of-contents dd { + font-style: italic; + margin-left: 2rem; +} +.phpdocumentor-element-found-in { + display: none; +} + +@media (min-width: 550px) { + .phpdocumentor-element-found-in { + display: block; + font-size: var(--text-sm); + color: gray; + margin-bottom: 1rem; + } +} + +@media (min-width: 1200px) { + .phpdocumentor-element-found-in { + position: absolute; + top: var(--spacing-sm); + right: var(--spacing-sm); + font-size: var(--text-sm); + margin-bottom: 0; + } +} + +.phpdocumentor-element-found-in .phpdocumentor-element-found-in__source { + flex: 0 1 auto; + display: inline-flex; +} + +.phpdocumentor-element-found-in .phpdocumentor-element-found-in__source:after { + width: 1.25rem; + height: 1.25rem; + line-height: 1.25rem; + background: transparent url('data:image/svg+xml;utf8,') no-repeat center center; + content: ''; + left: 0; + border-radius: 50%; + font-weight: 600; + text-align: center; + font-size: .75rem; + margin-top: .2rem; +} +.phpdocumentor-class-graph { + width: 100%; height: 600px; border:1px solid black; overflow: hidden +} + +.phpdocumentor-class-graph__graph { + width: 100%; +} +.phpdocumentor-tag-list__definition { + display: flex; +} + +.phpdocumentor-tag-link { + margin-right: var(--spacing-sm); +} +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-documentation:before { + content: 'D'; +} + +code.prettyprint { + background-color: var(--code-background-color); + border: 1px solid #f0f0f0; + border-radius: var(--border-radius-base-size); + box-sizing: border-box; + font-size: var(--text-sm); + padding: var(--spacing-xxxs); +} diff --git a/doc/files/src-datastructures-collection.html b/doc/files/src-datastructures-collection.html new file mode 100644 index 0000000..9a5efc8 --- /dev/null +++ b/doc/files/src-datastructures-collection.html @@ -0,0 +1,332 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                          +

                                          PHP Basics

                                          + + + + + + +
                                          + +
                                          +
                                          + + + + +
                                          +
                                          +
                                            +
                                          + +
                                          +

                                          Collection.php

                                          + +

                                          PHP Basics

                                          + +

                                          Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                          +

                                          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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                          +

                                          This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                          +

                                          You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                          +
                                          + + + + + +

                                          + Table of Contents + + +

                                          + + + + +

                                          + Classes + + +

                                          +
                                          +
                                          Collection
                                          A generic collection of items.
                                          + + + + + + + + + + + + + +
                                          +
                                          +
                                          +
                                          +
                                          
                                          +        
                                          + +
                                          +
                                          + + + +
                                          +
                                          +
                                          + +
                                          + On this page + +
                                            +
                                          • Table Of Contents
                                          • +
                                          • + +
                                          • + + +
                                          +
                                          + +
                                          +
                                          +
                                          +
                                          +
                                          +

                                          Search results

                                          + +
                                          +
                                          +
                                            +
                                            +
                                            +
                                            +
                                            + + +
                                            + + + + + + + + diff --git a/doc/files/src-datastructures-strictcollection.html b/doc/files/src-datastructures-strictcollection.html new file mode 100644 index 0000000..fb86872 --- /dev/null +++ b/doc/files/src-datastructures-strictcollection.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                            +

                                            PHP Basics

                                            + + + + + + +
                                            + +
                                            +
                                            + + + + +
                                            +
                                            +
                                              +
                                            + +
                                            +

                                            StrictCollection.php

                                            + +

                                            PHP Basics

                                            + +

                                            Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                            +

                                            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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                            +

                                            This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                            +

                                            You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                            +
                                            + + + + + +

                                            + Table of Contents + + +

                                            + + + + +

                                            + Classes + + +

                                            +
                                            +
                                            StrictCollection
                                            A type-sensitive, unsorted collection.
                                            + + + + + + + + + + + + + +
                                            +
                                            +
                                            +
                                            +
                                            
                                            +        
                                            + +
                                            +
                                            + + + +
                                            +
                                            +
                                            + +
                                            + On this page + +
                                              +
                                            • Table Of Contents
                                            • +
                                            • + +
                                            • + + +
                                            +
                                            + +
                                            +
                                            +
                                            +
                                            +
                                            +

                                            Search results

                                            + +
                                            +
                                            +
                                              +
                                              +
                                              +
                                              +
                                              + + +
                                              + + + + + + + + diff --git a/doc/files/src-datastructures-strictlist.html b/doc/files/src-datastructures-strictlist.html new file mode 100644 index 0000000..4a33f32 --- /dev/null +++ b/doc/files/src-datastructures-strictlist.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                              +

                                              PHP Basics

                                              + + + + + + +
                                              + +
                                              +
                                              + + + + +
                                              +
                                              +
                                                +
                                              + +
                                              +

                                              StrictList.php

                                              + +

                                              PHP Basics

                                              + +

                                              Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                              +

                                              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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                              +

                                              This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                              +

                                              You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                              +
                                              + + + + + +

                                              + Table of Contents + + +

                                              + + + + +

                                              + Classes + + +

                                              +
                                              +
                                              StrictList
                                              A type-sensitive, taversable list.
                                              + + + + + + + + + + + + + +
                                              +
                                              +
                                              +
                                              +
                                              
                                              +        
                                              + +
                                              +
                                              + + + +
                                              +
                                              +
                                              + +
                                              + On this page + +
                                                +
                                              • Table Of Contents
                                              • +
                                              • + +
                                              • + + +
                                              +
                                              + +
                                              +
                                              +
                                              +
                                              +
                                              +

                                              Search results

                                              + +
                                              +
                                              +
                                                +
                                                +
                                                +
                                                +
                                                + + +
                                                + + + + + + + + diff --git a/doc/files/src-datastructures-strictqueue.html b/doc/files/src-datastructures-strictqueue.html new file mode 100644 index 0000000..84a14e3 --- /dev/null +++ b/doc/files/src-datastructures-strictqueue.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                +

                                                PHP Basics

                                                + + + + + + +
                                                + +
                                                +
                                                + + + + +
                                                +
                                                +
                                                  +
                                                + +
                                                +

                                                StrictQueue.php

                                                + +

                                                PHP Basics

                                                + +

                                                Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                                +

                                                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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                                +

                                                This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                                +

                                                You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                                +
                                                + + + + + +

                                                + Table of Contents + + +

                                                + + + + +

                                                + Classes + + +

                                                +
                                                +
                                                StrictQueue
                                                A type-sensitive, taversable queue (FIFO).
                                                + + + + + + + + + + + + + +
                                                +
                                                +
                                                +
                                                +
                                                
                                                +        
                                                + +
                                                +
                                                + + + +
                                                +
                                                +
                                                + +
                                                + On this page + +
                                                  +
                                                • Table Of Contents
                                                • +
                                                • + +
                                                • + + +
                                                +
                                                + +
                                                +
                                                +
                                                +
                                                +
                                                +

                                                Search results

                                                + +
                                                +
                                                +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  + + +
                                                  + + + + + + + + diff --git a/doc/files/src-datastructures-strictstack.html b/doc/files/src-datastructures-strictstack.html new file mode 100644 index 0000000..2f75efc --- /dev/null +++ b/doc/files/src-datastructures-strictstack.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                  +

                                                  PHP Basics

                                                  + + + + + + +
                                                  + +
                                                  +
                                                  + + + + +
                                                  +
                                                  +
                                                    +
                                                  + +
                                                  +

                                                  StrictStack.php

                                                  + +

                                                  PHP Basics

                                                  + +

                                                  Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                                  +

                                                  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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                                  +

                                                  This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                                  +

                                                  You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                                  +
                                                  + + + + + +

                                                  + Table of Contents + + +

                                                  + + + + +

                                                  + Classes + + +

                                                  +
                                                  +
                                                  StrictStack
                                                  A type-sensitive, taversable stack (LIFO).
                                                  + + + + + + + + + + + + + +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  
                                                  +        
                                                  + +
                                                  +
                                                  + + + +
                                                  +
                                                  +
                                                  + +
                                                  + On this page + +
                                                    +
                                                  • Table Of Contents
                                                  • +
                                                  • + +
                                                  • + + +
                                                  +
                                                  + +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  +

                                                  Search results

                                                  + +
                                                  +
                                                  +
                                                    +
                                                    +
                                                    +
                                                    +
                                                    + + +
                                                    + + + + + + + + diff --git a/doc/files/src-errorhandlers-throwerrorexception.html b/doc/files/src-errorhandlers-throwerrorexception.html new file mode 100644 index 0000000..60a4c79 --- /dev/null +++ b/doc/files/src-errorhandlers-throwerrorexception.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                    +

                                                    PHP Basics

                                                    + + + + + + +
                                                    + +
                                                    +
                                                    + + + + +
                                                    +
                                                    +
                                                      +
                                                    + +
                                                    +

                                                    ThrowErrorException.php

                                                    + +

                                                    PHP Basics

                                                    + +

                                                    Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                                    +

                                                    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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                                    +

                                                    This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                                    +

                                                    You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                                    +
                                                    + + + + + +

                                                    + Table of Contents + + +

                                                    + + + + +

                                                    + Classes + + +

                                                    +
                                                    +
                                                    ThrowErrorException
                                                    Throws internal errors as exceptions.
                                                    + + + + + + + + + + + + + +
                                                    +
                                                    +
                                                    +
                                                    +
                                                    
                                                    +        
                                                    + +
                                                    +
                                                    + + + +
                                                    +
                                                    +
                                                    + +
                                                    + On this page + +
                                                      +
                                                    • Table Of Contents
                                                    • +
                                                    • + +
                                                    • + + +
                                                    +
                                                    + +
                                                    +
                                                    +
                                                    +
                                                    +
                                                    +

                                                    Search results

                                                    + +
                                                    +
                                                    +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      + + +
                                                      + + + + + + + + diff --git a/doc/files/src-errorhandlers-triggerexceptionerror.html b/doc/files/src-errorhandlers-triggerexceptionerror.html new file mode 100644 index 0000000..b5ab482 --- /dev/null +++ b/doc/files/src-errorhandlers-triggerexceptionerror.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                      +

                                                      PHP Basics

                                                      + + + + + + +
                                                      + +
                                                      +
                                                      + + + + +
                                                      +
                                                      +
                                                        +
                                                      + +
                                                      +

                                                      TriggerExceptionError.php

                                                      + +

                                                      PHP Basics

                                                      + +

                                                      Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                                      +

                                                      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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                                      +

                                                      This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                                      +

                                                      You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                                      +
                                                      + + + + + +

                                                      + Table of Contents + + +

                                                      + + + + +

                                                      + Classes + + +

                                                      +
                                                      +
                                                      TriggerExceptionError
                                                      Triggers errors for uncaught exceptions.
                                                      + + + + + + + + + + + + + +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      
                                                      +        
                                                      + +
                                                      +
                                                      + + + +
                                                      +
                                                      +
                                                      + +
                                                      + On this page + +
                                                        +
                                                      • Table Of Contents
                                                      • +
                                                      • + +
                                                      • + + +
                                                      +
                                                      + +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      +

                                                      Search results

                                                      + +
                                                      +
                                                      +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        + + +
                                                        + + + + + + + + diff --git a/doc/files/src-interfaces-arrayaccesstrait.html b/doc/files/src-interfaces-arrayaccesstrait.html new file mode 100644 index 0000000..3f094cf --- /dev/null +++ b/doc/files/src-interfaces-arrayaccesstrait.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                        +

                                                        PHP Basics

                                                        + + + + + + +
                                                        + +
                                                        +
                                                        + + + + +
                                                        +
                                                        +
                                                          +
                                                        + +
                                                        +

                                                        ArrayAccessTrait.php

                                                        + +

                                                        PHP Basics

                                                        + +

                                                        Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                                        +

                                                        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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                                        +

                                                        This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                                        +

                                                        You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                                        +
                                                        + + + + + +

                                                        + Table of Contents + + +

                                                        + + + + + +

                                                        + Traits + + +

                                                        +
                                                        +
                                                        ArrayAccessTrait
                                                        A generic implementation of the ArrayAccess interface.
                                                        + + + + + + + + + + + + +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        
                                                        +        
                                                        + +
                                                        +
                                                        + + + +
                                                        +
                                                        +
                                                        + +
                                                        + On this page + +
                                                          +
                                                        • Table Of Contents
                                                        • +
                                                        • + +
                                                        • + + +
                                                        +
                                                        + +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +

                                                        Search results

                                                        + +
                                                        +
                                                        +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + + +
                                                          + + + + + + + + diff --git a/doc/files/src-interfaces-countabletrait.html b/doc/files/src-interfaces-countabletrait.html new file mode 100644 index 0000000..558da6b --- /dev/null +++ b/doc/files/src-interfaces-countabletrait.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                          +

                                                          PHP Basics

                                                          + + + + + + +
                                                          + +
                                                          +
                                                          + + + + +
                                                          +
                                                          +
                                                            +
                                                          + +
                                                          +

                                                          CountableTrait.php

                                                          + +

                                                          PHP Basics

                                                          + +

                                                          Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                                          +

                                                          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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                                          +

                                                          This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                                          +

                                                          You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                                          +
                                                          + + + + + +

                                                          + Table of Contents + + +

                                                          + + + + + +

                                                          + Traits + + +

                                                          +
                                                          +
                                                          CountableTrait
                                                          A generic implementation of the Countable interface.
                                                          + + + + + + + + + + + + +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          
                                                          +        
                                                          + +
                                                          +
                                                          + + + +
                                                          +
                                                          +
                                                          + +
                                                          + On this page + +
                                                            +
                                                          • Table Of Contents
                                                          • +
                                                          • + +
                                                          • + + +
                                                          +
                                                          + +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +

                                                          Search results

                                                          + +
                                                          +
                                                          +
                                                            +
                                                            +
                                                            +
                                                            +
                                                            + + +
                                                            + + + + + + + + diff --git a/doc/files/src-interfaces-iteratoraggregatetrait.html b/doc/files/src-interfaces-iteratoraggregatetrait.html new file mode 100644 index 0000000..d807838 --- /dev/null +++ b/doc/files/src-interfaces-iteratoraggregatetrait.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                            +

                                                            PHP Basics

                                                            + + + + + + +
                                                            + +
                                                            +
                                                            + + + + +
                                                            +
                                                            +
                                                              +
                                                            + +
                                                            +

                                                            IteratorAggregateTrait.php

                                                            + +

                                                            PHP Basics

                                                            + +

                                                            Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                                            +

                                                            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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                                            +

                                                            This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                                            +

                                                            You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                                            +
                                                            + + + + + +

                                                            + Table of Contents + + +

                                                            + + + + + +

                                                            + Traits + + +

                                                            +
                                                            +
                                                            IteratorAggregateTrait
                                                            A generic implementation of the IteratorAggregate interface.
                                                            + + + + + + + + + + + + +
                                                            +
                                                            +
                                                            +
                                                            +
                                                            
                                                            +        
                                                            + +
                                                            +
                                                            + + + +
                                                            +
                                                            +
                                                            + +
                                                            + On this page + +
                                                              +
                                                            • Table Of Contents
                                                            • +
                                                            • + +
                                                            • + + +
                                                            +
                                                            + +
                                                            +
                                                            +
                                                            +
                                                            +
                                                            +

                                                            Search results

                                                            + +
                                                            +
                                                            +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              + + +
                                                              + + + + + + + + diff --git a/doc/files/src-interfaces-iteratortrait.html b/doc/files/src-interfaces-iteratortrait.html new file mode 100644 index 0000000..2cd6822 --- /dev/null +++ b/doc/files/src-interfaces-iteratortrait.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                              +

                                                              PHP Basics

                                                              + + + + + + +
                                                              + +
                                                              +
                                                              + + + + +
                                                              +
                                                              +
                                                                +
                                                              + +
                                                              +

                                                              IteratorTrait.php

                                                              + +

                                                              PHP Basics

                                                              + +

                                                              Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                                              +

                                                              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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                                              +

                                                              This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                                              +

                                                              You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                                              +
                                                              + + + + + +

                                                              + Table of Contents + + +

                                                              + + + + + +

                                                              + Traits + + +

                                                              +
                                                              +
                                                              IteratorTrait
                                                              A generic implementation of the Iterator interface.
                                                              + + + + + + + + + + + + +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              
                                                              +        
                                                              + +
                                                              +
                                                              + + + +
                                                              +
                                                              +
                                                              + +
                                                              + On this page + +
                                                                +
                                                              • Table Of Contents
                                                              • +
                                                              • + +
                                                              • + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              +

                                                              Search results

                                                              + +
                                                              +
                                                              +
                                                                +
                                                                +
                                                                +
                                                                +
                                                                + + +
                                                                + + + + + + + + diff --git a/doc/files/src-interfacetraits-arrayaccesstrait.html b/doc/files/src-interfacetraits-arrayaccesstrait.html new file mode 100644 index 0000000..2e47999 --- /dev/null +++ b/doc/files/src-interfacetraits-arrayaccesstrait.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                +

                                                                PHP Basics

                                                                + + + + + + +
                                                                + +
                                                                +
                                                                + + + + +
                                                                +
                                                                +
                                                                  +
                                                                + +
                                                                +

                                                                ArrayAccessTrait.php

                                                                + +

                                                                PHP Basics

                                                                + +

                                                                Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                                                +

                                                                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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                                                +

                                                                This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                                                +

                                                                You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                                                +
                                                                + + + + + +

                                                                + Table of Contents + + +

                                                                + + + + + +

                                                                + Traits + + +

                                                                +
                                                                +
                                                                ArrayAccessTrait
                                                                A generic implementation of the ArrayAccess interface.
                                                                + + + + + + + + + + + + +
                                                                +
                                                                +
                                                                +
                                                                +
                                                                
                                                                +        
                                                                + +
                                                                +
                                                                + + + +
                                                                +
                                                                +
                                                                + +
                                                                + On this page + +
                                                                  +
                                                                • Table Of Contents
                                                                • +
                                                                • + +
                                                                • + + +
                                                                +
                                                                + +
                                                                +
                                                                +
                                                                +
                                                                +
                                                                +

                                                                Search results

                                                                + +
                                                                +
                                                                +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  + + +
                                                                  + + + + + + + + diff --git a/doc/files/src-interfacetraits-countabletrait.html b/doc/files/src-interfacetraits-countabletrait.html new file mode 100644 index 0000000..bc52c75 --- /dev/null +++ b/doc/files/src-interfacetraits-countabletrait.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                  +

                                                                  PHP Basics

                                                                  + + + + + + +
                                                                  + +
                                                                  +
                                                                  + + + + +
                                                                  +
                                                                  +
                                                                    +
                                                                  + +
                                                                  +

                                                                  CountableTrait.php

                                                                  + +

                                                                  PHP Basics

                                                                  + +

                                                                  Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                                                  +

                                                                  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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                                                  +

                                                                  This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                                                  +

                                                                  You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                                                  +
                                                                  + + + + + +

                                                                  + Table of Contents + + +

                                                                  + + + + + +

                                                                  + Traits + + +

                                                                  +
                                                                  +
                                                                  CountableTrait
                                                                  A generic implementation of the Countable interface.
                                                                  + + + + + + + + + + + + +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  
                                                                  +        
                                                                  + +
                                                                  +
                                                                  + + + +
                                                                  +
                                                                  +
                                                                  + +
                                                                  + On this page + +
                                                                    +
                                                                  • Table Of Contents
                                                                  • +
                                                                  • + +
                                                                  • + + +
                                                                  +
                                                                  + +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +

                                                                  Search results

                                                                  + +
                                                                  +
                                                                  +
                                                                    +
                                                                    +
                                                                    +
                                                                    +
                                                                    + + +
                                                                    + + + + + + + + diff --git a/doc/files/src-interfacetraits-iteratoraggregatetrait.html b/doc/files/src-interfacetraits-iteratoraggregatetrait.html new file mode 100644 index 0000000..8cd4894 --- /dev/null +++ b/doc/files/src-interfacetraits-iteratoraggregatetrait.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                    +

                                                                    PHP Basics

                                                                    + + + + + + +
                                                                    + +
                                                                    +
                                                                    + + + + +
                                                                    +
                                                                    +
                                                                      +
                                                                    + +
                                                                    +

                                                                    IteratorAggregateTrait.php

                                                                    + +

                                                                    PHP Basics

                                                                    + +

                                                                    Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                                                    +

                                                                    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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                                                    +

                                                                    This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                                                    +

                                                                    You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                                                    +
                                                                    + + + + + +

                                                                    + Table of Contents + + +

                                                                    + + + + + +

                                                                    + Traits + + +

                                                                    +
                                                                    +
                                                                    IteratorAggregateTrait
                                                                    A generic implementation of the IteratorAggregate interface.
                                                                    + + + + + + + + + + + + +
                                                                    +
                                                                    +
                                                                    +
                                                                    +
                                                                    
                                                                    +        
                                                                    + +
                                                                    +
                                                                    + + + +
                                                                    +
                                                                    +
                                                                    + +
                                                                    + On this page + +
                                                                      +
                                                                    • Table Of Contents
                                                                    • +
                                                                    • + +
                                                                    • + + +
                                                                    +
                                                                    + +
                                                                    +
                                                                    +
                                                                    +
                                                                    +
                                                                    +

                                                                    Search results

                                                                    + +
                                                                    +
                                                                    +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + + +
                                                                      + + + + + + + + diff --git a/doc/files/src-interfacetraits-iteratortrait.html b/doc/files/src-interfacetraits-iteratortrait.html new file mode 100644 index 0000000..621cf0b --- /dev/null +++ b/doc/files/src-interfacetraits-iteratortrait.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                      +

                                                                      PHP Basics

                                                                      + + + + + + +
                                                                      + +
                                                                      +
                                                                      + + + + +
                                                                      +
                                                                      +
                                                                        +
                                                                      + +
                                                                      +

                                                                      IteratorTrait.php

                                                                      + +

                                                                      PHP Basics

                                                                      + +

                                                                      Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                                                      +

                                                                      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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                                                      +

                                                                      This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                                                      +

                                                                      You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                                                      +
                                                                      + + + + + +

                                                                      + Table of Contents + + +

                                                                      + + + + + +

                                                                      + Traits + + +

                                                                      +
                                                                      +
                                                                      IteratorTrait
                                                                      A generic implementation of the Iterator interface.
                                                                      + + + + + + + + + + + + +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      
                                                                      +        
                                                                      + +
                                                                      +
                                                                      + + + +
                                                                      +
                                                                      +
                                                                      + +
                                                                      + On this page + +
                                                                        +
                                                                      • Table Of Contents
                                                                      • +
                                                                      • + +
                                                                      • + + +
                                                                      +
                                                                      + +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Search results

                                                                      + +
                                                                      +
                                                                      +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        + + +
                                                                        + + + + + + + + diff --git a/doc/files/src-traits-getter.html b/doc/files/src-traits-getter.html new file mode 100644 index 0000000..fd608ff --- /dev/null +++ b/doc/files/src-traits-getter.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                        +

                                                                        PHP Basics

                                                                        + + + + + + +
                                                                        + +
                                                                        +
                                                                        + + + + +
                                                                        +
                                                                        +
                                                                          +
                                                                        + +
                                                                        +

                                                                        Getter.php

                                                                        + +

                                                                        PHP Basics

                                                                        + +

                                                                        Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                                                        +

                                                                        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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                                                        +

                                                                        This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                                                        +

                                                                        You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                                                        +
                                                                        + + + + + +

                                                                        + Table of Contents + + +

                                                                        + + + + + +

                                                                        + Traits + + +

                                                                        +
                                                                        +
                                                                        Getter
                                                                        Reads data from inaccessible properties by using magic methods.
                                                                        + + + + + + + + + + + + +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        
                                                                        +        
                                                                        + +
                                                                        +
                                                                        + + + +
                                                                        +
                                                                        +
                                                                        + +
                                                                        + On this page + +
                                                                          +
                                                                        • Table Of Contents
                                                                        • +
                                                                        • + +
                                                                        • + + +
                                                                        +
                                                                        + +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +

                                                                        Search results

                                                                        + +
                                                                        +
                                                                        +
                                                                          +
                                                                          +
                                                                          +
                                                                          +
                                                                          + + +
                                                                          + + + + + + + + diff --git a/doc/files/src-traits-overloadinggetter.html b/doc/files/src-traits-overloadinggetter.html new file mode 100644 index 0000000..38da3e3 --- /dev/null +++ b/doc/files/src-traits-overloadinggetter.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                          +

                                                                          PHP Basics

                                                                          + + + + + + +
                                                                          + +
                                                                          +
                                                                          + + + + +
                                                                          +
                                                                          +
                                                                            +
                                                                          + +
                                                                          +

                                                                          OverloadingGetter.php

                                                                          + +

                                                                          PHP Basics

                                                                          + +

                                                                          Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                                                          +

                                                                          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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                                                          +

                                                                          This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                                                          +

                                                                          You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                                                          +
                                                                          + + + + + +

                                                                          + Table of Contents + + +

                                                                          + + + + + +

                                                                          + Traits + + +

                                                                          +
                                                                          +
                                                                          OverloadingGetter
                                                                          Overloads a class with readable magic properties.
                                                                          + + + + + + + + + + + + +
                                                                          +
                                                                          +
                                                                          +
                                                                          +
                                                                          
                                                                          +        
                                                                          + +
                                                                          +
                                                                          + + + +
                                                                          +
                                                                          +
                                                                          + +
                                                                          + On this page + +
                                                                            +
                                                                          • Table Of Contents
                                                                          • +
                                                                          • + +
                                                                          • + + +
                                                                          +
                                                                          + +
                                                                          +
                                                                          +
                                                                          +
                                                                          +
                                                                          +

                                                                          Search results

                                                                          + +
                                                                          +
                                                                          +
                                                                            +
                                                                            +
                                                                            +
                                                                            +
                                                                            + + +
                                                                            + + + + + + + + diff --git a/doc/files/src-traits-overloadingsetter.html b/doc/files/src-traits-overloadingsetter.html new file mode 100644 index 0000000..b5ce025 --- /dev/null +++ b/doc/files/src-traits-overloadingsetter.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                            +

                                                                            PHP Basics

                                                                            + + + + + + +
                                                                            + +
                                                                            +
                                                                            + + + + +
                                                                            +
                                                                            +
                                                                              +
                                                                            + +
                                                                            +

                                                                            OverloadingSetter.php

                                                                            + +

                                                                            PHP Basics

                                                                            + +

                                                                            Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                                                            +

                                                                            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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                                                            +

                                                                            This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                                                            +

                                                                            You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                                                            +
                                                                            + + + + + +

                                                                            + Table of Contents + + +

                                                                            + + + + + +

                                                                            + Traits + + +

                                                                            +
                                                                            +
                                                                            OverloadingSetter
                                                                            Overloads a class with writable magic properties.
                                                                            + + + + + + + + + + + + +
                                                                            +
                                                                            +
                                                                            +
                                                                            +
                                                                            
                                                                            +        
                                                                            + +
                                                                            +
                                                                            + + + +
                                                                            +
                                                                            +
                                                                            + +
                                                                            + On this page + +
                                                                              +
                                                                            • Table Of Contents
                                                                            • +
                                                                            • + +
                                                                            • + + +
                                                                            +
                                                                            + +
                                                                            +
                                                                            +
                                                                            +
                                                                            +
                                                                            +

                                                                            Search results

                                                                            + +
                                                                            +
                                                                            +
                                                                              +
                                                                              +
                                                                              +
                                                                              +
                                                                              + + +
                                                                              + + + + + + + + diff --git a/doc/files/src-traits-setter.html b/doc/files/src-traits-setter.html new file mode 100644 index 0000000..b281f7d --- /dev/null +++ b/doc/files/src-traits-setter.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                              +

                                                                              PHP Basics

                                                                              + + + + + + +
                                                                              + +
                                                                              +
                                                                              + + + + +
                                                                              +
                                                                              +
                                                                                +
                                                                              + +
                                                                              +

                                                                              Setter.php

                                                                              + +

                                                                              PHP Basics

                                                                              + +

                                                                              Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                                                              +

                                                                              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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                                                              +

                                                                              This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                                                              +

                                                                              You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                                                              +
                                                                              + + + + + +

                                                                              + Table of Contents + + +

                                                                              + + + + + +

                                                                              + Traits + + +

                                                                              +
                                                                              +
                                                                              Setter
                                                                              Writes data to inaccessible properties by using magic methods.
                                                                              + + + + + + + + + + + + +
                                                                              +
                                                                              +
                                                                              +
                                                                              +
                                                                              
                                                                              +        
                                                                              + +
                                                                              +
                                                                              + + + +
                                                                              +
                                                                              +
                                                                              + +
                                                                              + On this page + +
                                                                                +
                                                                              • Table Of Contents
                                                                              • +
                                                                              • + +
                                                                              • + + +
                                                                              +
                                                                              + +
                                                                              +
                                                                              +
                                                                              +
                                                                              +
                                                                              +

                                                                              Search results

                                                                              + +
                                                                              +
                                                                              +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                + + +
                                                                                + + + + + + + + diff --git a/doc/files/src-traits-singleton.html b/doc/files/src-traits-singleton.html new file mode 100644 index 0000000..8852794 --- /dev/null +++ b/doc/files/src-traits-singleton.html @@ -0,0 +1,336 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                +

                                                                                PHP Basics

                                                                                + + + + + + +
                                                                                + +
                                                                                +
                                                                                + + + + +
                                                                                +
                                                                                +
                                                                                  +
                                                                                + +
                                                                                +

                                                                                Singleton.php

                                                                                + +

                                                                                PHP Basics

                                                                                + +

                                                                                Copyright (C) 2024 Sebastian Meyer sebastian.meyer@opencultureconsulting.com

                                                                                +

                                                                                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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.

                                                                                +

                                                                                This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.

                                                                                +

                                                                                You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/.

                                                                                +
                                                                                + + + + + +

                                                                                + Table of Contents + + +

                                                                                + + + + + +

                                                                                + Traits + + +

                                                                                +
                                                                                +
                                                                                Singleton
                                                                                Allows just a single instance of the class using this trait.
                                                                                + + + + + + + + + + + + +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                
                                                                                +        
                                                                                + +
                                                                                +
                                                                                + + + +
                                                                                +
                                                                                +
                                                                                + +
                                                                                + On this page + +
                                                                                  +
                                                                                • Table Of Contents
                                                                                • +
                                                                                • + +
                                                                                • + + +
                                                                                +
                                                                                + +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +

                                                                                Search results

                                                                                + +
                                                                                +
                                                                                +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  + + +
                                                                                  + + + + + + + + diff --git a/doc/files/src/DataStructures/Collection.php.txt b/doc/files/src/DataStructures/Collection.php.txt new file mode 100644 index 0000000..7d95fd9 --- /dev/null +++ b/doc/files/src/DataStructures/Collection.php.txt @@ -0,0 +1,195 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\DataStructures; + +use ArrayAccess; +use Countable; +use IteratorAggregate; +use OCC\Basics\InterfaceTraits\ArrayAccessTrait; +use OCC\Basics\InterfaceTraits\CountableTrait; +use OCC\Basics\InterfaceTraits\IteratorAggregateTrait; + +/** + * A generic collection of items. + * + * @author Sebastian Meyer + * @package Basics\DataStructures + * + * @api + * + * @template Item of mixed + * @implements ArrayAccess + * @implements IteratorAggregate + */ +class Collection implements ArrayAccess, Countable, IteratorAggregate +{ + /** @use ArrayAccessTrait */ + use ArrayAccessTrait; + /** @use CountableTrait */ + use CountableTrait; + /** @use IteratorAggregateTrait */ + use IteratorAggregateTrait; + + /** + * Add an item to the collection. + * + * @param Item $item The new item + * + * @return void + * + * @api + */ + public function add(mixed $item): void + { + $this->data[] = $item; + } + + /** + * Clear the collection of any items. + * + * @return void + * + * @api + */ + public function clear(): void + { + $this->data = []; + } + + /** + * Get a new collection with the same set of items. + * + * @return Collection The new collection with the same items + * + * @api + */ + public function copy(): Collection + { + return new Collection($this->data); + } + + /** + * Get the item at the specified index. + * + * @param array-key $key The item's index + * + * @return ?Item The item or NULL if key is invalid + * + * @api + */ + public function get(int|string $key): mixed + { + return $this->data[$key] ?? null; + } + + /** + * Check if collection is empty. + * + * @return bool Whether the collection contains any items + * + * @api + */ + public function isEmpty(): bool + { + return $this->count() === 0; + } + + /** + * Remove an item from the collection. + * + * @param array-key $key The item's key + * + * @return void + * + * @api + */ + public function remove(int|string $key): void + { + unset($this->data[$key]); + } + + /** + * Set the item at the specified index. + * + * @param array-key $key The new item's index + * @param Item $item The new item + * + * @return void + * + * @api + */ + public function set(int|string $key, mixed $item): void + { + $this->data[$key] = $item; + } + + /** + * Return array representation of collection. + * + * @return array Array of collection items + * + * @api + */ + public function toArray(): array + { + return $this->data; + } + + /** + * Create a collection of items. + * + * @param array $items Initial set of items + * + * @return void + */ + public function __construct(array $items = []) + { + $this->data = $items; + } + + /** + * Magic method to read collection items as properties. + * + * @param array-key $key The item's index + * + * @return ?Item The item or NULL if key is invalid + */ + public function __get(int|string $key): mixed + { + return $this->get($key); + } + + /** + * Magic method to write collection items as properties. + * + * @param array-key $key The new item's index + * @param Item $item The new item + * + * @return void + */ + public function __set(int|string $key, mixed $item): void + { + $this->set($key, $item); + } +} diff --git a/doc/files/src/DataStructures/StrictCollection.php.txt b/doc/files/src/DataStructures/StrictCollection.php.txt new file mode 100644 index 0000000..96726e5 --- /dev/null +++ b/doc/files/src/DataStructures/StrictCollection.php.txt @@ -0,0 +1,427 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\DataStructures; + +use ArrayAccess; +use Countable; +use DomainException; +use InvalidArgumentException; +use OCC\Basics\Interfaces\ArrayAccessTrait; +use OCC\Basics\Interfaces\CountableTrait; +use OCC\Basics\Traits\Getter; +use Serializable; + +/** + * A type-sensitive, unsorted collection. + * + * 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 + * names. + * + * Internally it holds the items in the protected `$_data` array. + * + * @author Sebastian Meyer + * @package Basics\DataStructures + * + * @property-read string[] $allowedTypes The allowed data types for items. + * + * @api + * + * @template AllowedType of mixed + * @implements ArrayAccess + */ +class StrictCollection implements ArrayAccess, Countable, Serializable +{ + /** @use ArrayAccessTrait */ + use ArrayAccessTrait; + /** @use CountableTrait */ + use CountableTrait; + use Getter; + + /** + * The allowed data types for collection items. + * + * @var string[] + * + * @internal + */ + protected array $allowedTypes = []; + + /** + * Holds the collection's items. + * + * @var AllowedType[] + * + * @internal + */ + protected array $_data = []; + + /** + * Add/insert a new item at the specified index. + * + * @param array-key $offset The new item's index + * @param AllowedType $value The new item + * + * @return void + * + * @throws InvalidArgumentException if `$offset` is not of allowed type + * + * @api + */ + public function add(int|string $offset, mixed $value): void + { + $this->offsetSet($offset, $value); + } + + /** + * Clear the collection of any items. + * + * @return void + * + * @api + */ + public function clear(): void + { + $this->_data = []; + } + + /** + * Get the item at the specified index. + * + * @param array-key $offset The item's index + * + * @return ?AllowedType The item or NULL if key is invalid + * + * @api + */ + public function get(int|string $offset): mixed + { + return $this->offsetGet($offset); + } + + /** + * Get allowed data types for collection items. + * + * @return string[] The list of allowed data types + * + * @api + */ + public function getAllowedTypes(): array + { + return $this->allowedTypes; + } + + /** + * Check if the item's data type is allowed in the collection. + * + * @param AllowedType $value The item to check + * + * @return bool Whether the item's data type is allowed + * + * @api + */ + public function isAllowedType(mixed $value): bool + { + if (count($this->allowedTypes) === 0) { + return true; + } + foreach ($this->allowedTypes as $type) { + $function = 'is_' . $type; + if (function_exists($function) && $function($value)) { + return true; + } + /** @var class-string $fqcn */ + $fqcn = ltrim($type, '\\'); + if (is_object($value) && is_a($value, $fqcn)) { + return true; + } + } + return false; + } + + /** + * Check if collection is empty. + * + * @return bool Whether the collection contains no items + * + * @api + */ + public function isEmpty(): bool + { + return $this->count() === 0; + } + + /** + * Check if this collection can be considered a list. + * + * It is considered a list if all keys are consecutive integers starting + * from `0`. + * + * @return bool Whether the collection is a list + * + * @api + * + * @see StrictCollection::toStrictList() + */ + public function isList(): bool + { + return array_is_list($this->_data); + } + + /** + * Set the item at the specified offset. + * + * @param ?array-key $offset The offset being set + * @param AllowedType $value The new item for the offset + * + * @return void + * + * @throws InvalidArgumentException if `$offset` or `$value` is not of allowed type + * + * @api + */ + public function offsetSet(mixed $offset, mixed $value): void + { + if (!is_integer($offset) && !is_string($offset)) { + throw new InvalidArgumentException( + sprintf( + 'Parameter 1 must be an integer or string, %s given.', + get_debug_type($offset) + ) + ); + } + if (!$this->isAllowedType($value)) { + throw new InvalidArgumentException( + sprintf( + 'Parameter 2 must be an allowed type, %s given.', + get_debug_type($value) + ) + ); + } + $this->_data[$offset] = $value; + } + + /** + * Remove an item from the collection. + * + * @param array-key $offset The item's key + * + * @return void + * + * @api + */ + public function remove(int|string $offset): void + { + $this->offsetUnset($offset); + } + + /** + * Get string representation of $this. + * + * @return string The string representation + */ + public function serialize(): string + { + return serialize($this->__serialize()); + } + + /** + * Set an item at the specified index. + * + * @param array-key $offset The item's index + * @param AllowedType $value The item + * + * @return void + * + * @throws InvalidArgumentException if `$value` is not of allowed type + * + * @api + */ + public function set(int|string $offset, mixed $value): void + { + $this->offsetSet($offset, $value); + } + + /** + * Set allowed data types of collection items. + * + * @param string[] $allowedTypes Allowed data types of items + * + * @return void + * + * @throws InvalidArgumentException if any value of `$allowedTypes` is not a string + */ + protected function setAllowedTypes(array $allowedTypes = []): void + { + if (array_sum(array_map('is_string', $allowedTypes)) !== count($allowedTypes)) { + throw new InvalidArgumentException( + 'Allowed types must be array of strings or empty array.' + ); + } + $this->allowedTypes = $allowedTypes; + } + + /** + * Return array representation of collection. + * + * @return AllowedType[] Array of collection items + * + * @api + */ + public function toArray(): array + { + return $this->_data; + } + + /** + * Turn collection into a type-sensitive list. + * + * @return StrictList A type-sensitive list of the collection's items + * + * @throws DomainException if the collection is not a list + * + * @api + * + * @see StrictCollection::isList() + */ + public function toStrictList(): StrictList + { + if (!$this->isList()) { + throw new DomainException( + 'Cannot convert into list: collection contains non-integer and/or non-consecutive keys.' + ); + } + $strictList = new StrictList($this->allowedTypes); + $items = $this->toArray(); + $strictList->append(...$items); + return $strictList; + } + + /** + * Restore $this from string representation. + * + * @param string $data The string representation + * + * @return void + */ + public function unserialize($data): void + { + /** @var mixed[] $dataArray */ + $dataArray = unserialize($data); + $this->__unserialize($dataArray); + } + + /** + * Magic getter method for $this->allowedTypes. + * + * @return string[] The list of allowed data types + * + * @internal + */ + protected function _magicGetAllowedTypes(): array + { + return $this->getAllowedTypes(); + } + + /** + * Create a type-sensitive collection of items. + * + * @param string[] $allowedTypes Allowed data types of items (optional) + * + * If empty, all types are allowed. + * Possible values are: + * - "array" + * - "bool" + * - "callable" + * - "countable" + * - "float" or "double" + * - "int" or "integer" or "long" + * - "iterable" + * - "null" + * - "numeric" + * - "object" or FQCN + * - "resource" + * - "scalar" + * - "string" + * + * @return void + * + * @throws InvalidArgumentException if any value of `$allowedTypes` is not a string + */ + public function __construct(array $allowedTypes = []) + { + $this->setAllowedTypes($allowedTypes); + } + + /** + * Get debug information for $this. + * + * @return mixed[] The debug information + * + * @internal + */ + public function __debugInfo(): array + { + return $this->__serialize(); + } + + /** + * Get array representation of $this. + * + * @return mixed[] The array representation + * + * @internal + */ + public function __serialize(): array + { + return [ + 'StrictCollection::allowedTypes' => $this->allowedTypes, + 'StrictCollection::items' => $this->_data + ]; + } + + /** + * Restore $this from array representation. + * + * @param mixed[] $data The array representation + * + * @return void + * + * @internal + * + * @hpsalm-suppress MethodSignatureMismatch + */ + public function __unserialize(array $data): void + { + /** @var string[] $allowedTypes */ + $allowedTypes = $data['StrictCollection::allowedTypes']; + $this->setAllowedTypes($allowedTypes); + /** @var AllowedType[] $items */ + $items = $data['StrictCollection::items']; + foreach ($items as $offset => $value) { + $this->offsetSet($offset, $value); + } + } +} diff --git a/doc/files/src/DataStructures/StrictList.php.txt b/doc/files/src/DataStructures/StrictList.php.txt new file mode 100644 index 0000000..5c3bd4c --- /dev/null +++ b/doc/files/src/DataStructures/StrictList.php.txt @@ -0,0 +1,752 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\DataStructures; + +use ArrayAccess; +use Countable; +use InvalidArgumentException; +use Iterator; +use OutOfRangeException; +use RangeException; +use RuntimeException; +use SplDoublyLinkedList; +use OCC\Basics\Traits\Getter; +use Serializable; + +/** + * A type-sensitive, taversable list. + * + * Extends [\SplDoublyLinkedList](https://www.php.net/spldoublylinkedlist) 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. + * + * @author Sebastian Meyer + * @package Basics\DataStructures + * + * @property-read string[] $allowedTypes The allowed data types for values. + * + * @api + * + * @template AllowedType of mixed + * @extends SplDoublyLinkedList + * @implements ArrayAccess + * @implements Iterator + */ +class StrictList extends SplDoublyLinkedList implements ArrayAccess, Countable, Iterator, Serializable +{ + use Getter; + + /** + * The allowed data types for list items. + * + * @var string[] + * + * @internal + */ + protected array $allowedTypes = []; + + /** + * Add/insert a new item at the specified offset. + * + * @param int $offset The offset where the new item is to be inserted + * @param AllowedType $value The new item for the offset + * + * @return void + * + * @throws InvalidArgumentException if `$value` is not of allowed type + * @throws OutOfRangeException when `$offset` is out of bounds + * + * @api + */ + public function add(int $offset, mixed $value): void + { + $this->offsetSet($offset, $value); + } + + /** + * Append items at the end of the list. + * + * @param AllowedType ...$values One or more items to append + * + * @return void + * + * @throws InvalidArgumentException if any `$values` is not of allowed type + * + * @api + */ + public function append(mixed ...$values): void + { + /** @var array $values */ + foreach ($values as $count => $value) { + if (!$this->isAllowedType($value)) { + throw new InvalidArgumentException( + sprintf( + 'Parameter %d must be an allowed type, %s given.', + $count + 1, + get_debug_type($value) + ) + ); + } + } + foreach ($values as $value) { + parent::push($value); + } + } + + /** + * Peek at the item at the beginning of the list. + * + * @return AllowedType The first item of the list + * + * @throws RuntimeException if the list is empty + * + * @api + */ + public function bottom(): mixed + { + return parent::bottom(); + } + + /** + * Clear the list of any items. + * + * @return void + * + * @api + */ + public function clear(): void + { + while (!$this->isEmpty()) { + $this->pop(); + } + $this->rewind(); + } + + /** + * Get the number of items on the list. + * + * @return int The number of items on the list + * + * @api + */ + public function count(): int + { + return parent::count(); + } + + /** + * Get the current list item. + * + * @return AllowedType The current item + * + * @api + */ + public function current(): mixed + { + return parent::current(); + } + + /** + * Get the item at the specified index. + * + * @param int $offset The item's index + * + * @return AllowedType The item + * + * @throws OutOfRangeException when `$offset` is out of bounds + * + * @api + */ + public function get(int $offset): mixed + { + return $this->offsetGet($offset); + } + + /** + * Get allowed data types for list items. + * + * @return string[] The list of allowed data types + * + * @api + */ + public function getAllowedTypes(): array + { + return $this->allowedTypes; + } + + /** + * Get the mode of iteration. + * + * @return int The set of flags and modes of iteration + * + * @api + */ + public function getIteratorMode(): int + { + return parent::getIteratorMode(); + } + + /** + * Check if the item's data type is allowed on the list. + * + * @param AllowedType $value The item to check + * + * @return bool Whether the item's data type is allowed + * + * @api + */ + public function isAllowedType(mixed $value): bool + { + if (count($this->allowedTypes) === 0) { + return true; + } + foreach ($this->allowedTypes as $type) { + $function = 'is_' . $type; + if (function_exists($function) && $function($value)) { + return true; + } + /** @var class-string $fqcn */ + $fqcn = ltrim($type, '\\'); + if (is_object($value) && is_a($value, $fqcn)) { + return true; + } + } + return false; + } + + /** + * Check if list is empty. + * + * @return bool Whether the list contains no items + * + * @api + */ + public function isEmpty(): bool + { + return parent::isEmpty(); + } + + /** + * Check if this can be considered a list. + * + * @return true Always TRUE (this exists only for compatibility reasons) + * + * @api + */ + public function isList(): bool + { + return true; + } + + /** + * Get the current list index. + * + * @return int The current list index + * + * @api + */ + public function key(): int + { + return parent::key(); + } + + /** + * Move the cursor to the next list index. + * + * @return void + * + * @api + */ + public function next(): void + { + parent::next(); + } + + /** + * Check if the specified index exists and is not empty. + * + * @param int $offset The index to check + * + * @return bool Whether the index exists and is not empty + * + * @api + */ + public function offsetExists(mixed $offset): bool + { + return parent::offsetExists($offset); + } + + /** + * Get the item from the specified index. + * + * @param int $offset The item's index + * + * @return AllowedType The item + * + * @throws OutOfRangeException when `$offset` is out of bounds + * + * @api + */ + public function offsetGet(mixed $offset): mixed + { + return parent::offsetGet($offset); + } + + /** + * Set the item at the specified offset. + * + * @param ?int $offset The offset being set or NULL to append + * @param AllowedType $value The new item for the offset + * + * @return void + * + * @throws InvalidArgumentException if `$value` is not of allowed type + * @throws OutOfRangeException when `$offset` is out of bounds + * + * @api + */ + public function offsetSet(mixed $offset, mixed $value): void + { + if (!$this->isAllowedType($value)) { + throw new InvalidArgumentException( + sprintf( + 'Parameter 2 must be an allowed type, %s given.', + get_debug_type($value) + ) + ); + } + /** @psalm-suppress PossiblyNullArgument */ + parent::offsetSet($offset, $value); + } + + /** + * Unset the item at the specified index. + * + * @param int $offset The item's index + * + * @return void + * + * @throws OutOfRangeException when `$offset` is out of bounds + * + * @api + */ + public function offsetUnset(mixed $offset): void + { + parent::offsetUnset($offset); + } + + /** + * Pops an item from the end of the list. + * + * @return AllowedType The item from the end of the list + * + * @throws RuntimeException if the list is empty + * + * @api + */ + public function pop(): mixed + { + return parent::pop(); + } + + /** + * Prepend items at the start of the list. + * + * @param AllowedType ...$values One or more items to prepend + * + * @return void + * + * @throws InvalidArgumentException if `$value` is not of allowed type + * + * @api + */ + public function prepend(mixed ...$values): void + { + /** @var array $values */ + foreach ($values as $count => $value) { + if (!$this->isAllowedType($value)) { + throw new InvalidArgumentException( + sprintf( + 'Parameter %d must be an allowed type, %s given.', + $count + 1, + get_debug_type($value) + ) + ); + } + } + foreach ($values as $value) { + parent::unshift($value); + } + } + + /** + * Move the cursor to the previous list index. + * + * @return void + * + * @api + */ + public function prev(): void + { + parent::prev(); + } + + /** + * Push an item at the end of the list. + * + * @param AllowedType $value The item to push + * + * @return void + * + * @throws InvalidArgumentException if `$value` is not of allowed type + * + * @api + */ + public function push(mixed $value): void + { + if (!$this->isAllowedType($value)) { + throw new InvalidArgumentException( + sprintf( + 'Parameter 1 must be an allowed type, %s given.', + get_debug_type($value) + ) + ); + } + parent::push($value); + } + + /** + * Remove an item from the list. + * + * @param int $offset The item's index + * + * @return void + * + * @throws OutOfRangeException when `$offset` is out of bounds + * + * @api + */ + public function remove(int $offset): void + { + $this->offsetUnset($offset); + } + + /** + * Rewind the iterator's cursor. + * + * @return void + * + * @api + */ + public function rewind(): void + { + parent::rewind(); + } + + /** + * Get string representation of $this. + * + * @return string The string representation + * + * @internal + */ + public function serialize(): string + { + return serialize($this->__serialize()); + } + + /** + * Set an item at the specified index. + * + * @param int $offset The item's index + * @param AllowedType $value The item + * + * @return void + * + * @throws InvalidArgumentException if `$value` is not of allowed type + * + * @api + */ + public function set(int $offset, mixed $value): void + { + $this->offsetSet($offset, $value); + } + + /** + * Set allowed data types of list items. + * + * @param string[] $allowedTypes Allowed data types of items + * + * @return void + * + * @throws InvalidArgumentException if any value of `$allowedTypes` is not a string + */ + protected function setAllowedTypes(array $allowedTypes = []): void + { + if (array_sum(array_map('is_string', $allowedTypes)) !== count($allowedTypes)) { + throw new InvalidArgumentException( + 'Allowed types must be array of strings or empty array.' + ); + } + $this->allowedTypes = $allowedTypes; + } + + /** + * Set the mode of iteration. + * + * @param int $mode The new iterator mode (0, 1, 2 or 3) + * + * There are two orthogonal sets of modes that can be set. + * + * The direction of iteration (either one or the other): + * - StrictList::IT_MODE_FIFO (queue style) + * - StrictList::IT_MODE_LIFO (stack style) + * + * The behavior of the iterator (either one or the other): + * - StrictList::IT_MODE_DELETE (delete items) + * - StrictList::IT_MODE_KEEP (keep items) + * + * The default mode is: IT_MODE_FIFO | IT_MODE_KEEP + * + * @return int The set of flags and modes of iteration + * + * @throws RangeException if an invalid `$mode` is given + * + * @api + */ + public function setIteratorMode(int $mode): int + { + if (!in_array($mode, range(0, 3), true)) { + throw new RangeException( + sprintf( + 'Iterator mode must be an integer in range [0..3], %d given.', + $mode + ) + ); + } + return parent::setIteratorMode($mode); + } + + /** + * Shift an item from the beginning of the list. + * + * @return AllowedType The first item of the list + * + * @throws RuntimeException if the list is empty + * + * @api + */ + public function shift(): mixed + { + return parent::shift(); + } + + /** + * Return array representation of list. + * + * @return AllowedType[] Array of list items + * + * @api + */ + public function toArray(): array + { + return iterator_to_array($this, true); + } + + /** + * Turn list into a type-sensitive collection. + * + * @return StrictCollection A type-sensitive collection of the list's items + * + * @api + */ + public function toStrictCollection(): StrictCollection + { + $strictCollection = new StrictCollection($this->allowedTypes); + foreach ($this->toArray() as $offset => $value) { + $strictCollection[$offset] = $value; + } + return $strictCollection; + } + + /** + * Peek at the item at the end of the list. + * + * @return AllowedType The last item of the list + * + * @throws RuntimeException if the list is empty + * + * @api + */ + public function top(): mixed + { + return parent::top(); + } + + /** + * Restore $this from string representation. + * + * @param string $data The string representation + * + * @return void + * + * @internal + */ + public function unserialize($data): void + { + /** @var mixed[] $dataArray */ + $dataArray = unserialize($data); + $this->__unserialize($dataArray); + } + + /** + * Prepend the list with an item. + * + * @param AllowedType $value The item to unshift + * + * @return void + * + * @throws InvalidArgumentException if `$value` is not of allowed type + * + * @api + */ + public function unshift(mixed $value): void + { + if (!$this->isAllowedType($value)) { + throw new InvalidArgumentException( + sprintf( + 'Parameter 1 must be an allowed type, %s given.', + get_debug_type($value) + ) + ); + } + parent::unshift($value); + } + + /** + * Check if current cursor position is valid. + * + * @return bool Whether the current cursor position is valid + * + * @api + */ + public function valid(): bool + { + return parent::valid(); + } + + /** + * Magic getter method for $this->allowedTypes. + * + * @return string[] The list of allowed data types + * + * @internal + */ + protected function _magicGetAllowedTypes(): array + { + return $this->getAllowedTypes(); + } + + /** + * Create a type-sensitive, traversable list of items. + * + * @param string[] $allowedTypes Allowed data types of items (optional) + * + * If empty, all types are allowed. + * Possible values are: + * - "array" + * - "bool" + * - "callable" + * - "countable" + * - "float" or "double" + * - "int" or "integer" or "long" + * - "iterable" + * - "null" + * - "numeric" + * - "object" or FQCN + * - "resource" + * - "scalar" + * - "string" + * + * @return void + * + * @throws InvalidArgumentException if any value of `$allowedTypes` is not a string + */ + public function __construct(array $allowedTypes = []) + { + $this->setAllowedTypes($allowedTypes); + } + + /** + * Get debug information for $this. + * + * @return mixed[] The debug information + * + * @internal + */ + public function __debugInfo(): array + { + return $this->__serialize(); + } + + /** + * Get array representation of $this. + * + * @return mixed[] The array representation + * + * @internal + */ + public function __serialize(): array + { + return [ + 'StrictList::allowedTypes' => $this->allowedTypes, + 'SplDoublyLinkedList::dllist' => iterator_to_array($this), + 'SplDoublyLinkedList::flags' => $this->getIteratorMode() + ]; + } + + /** + * Restore $this from array representation. + * + * @param mixed[] $data The array representation + * + * @return void + * + * @internal + * + * @psalm-suppress MethodSignatureMismatch + */ + public function __unserialize(array $data): void + { + /** @var string[] $allowedTypes */ + $allowedTypes = $data['StrictList::allowedTypes']; + $this->setAllowedTypes($allowedTypes); + /** @var array $values */ + $values = $data['SplDoublyLinkedList::dllist']; + $this->append(...$values); + /** @var int $flags */ + $flags = $data['SplDoublyLinkedList::flags']; + $this->setIteratorMode($flags); + } +} diff --git a/doc/files/src/DataStructures/StrictQueue.php.txt b/doc/files/src/DataStructures/StrictQueue.php.txt new file mode 100644 index 0000000..90bbe00 --- /dev/null +++ b/doc/files/src/DataStructures/StrictQueue.php.txt @@ -0,0 +1,149 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\DataStructures; + +use ArrayAccess; +use Countable; +use InvalidArgumentException; +use Iterator; +use RangeException; +use RuntimeException; +use Serializable; + +/** + * A type-sensitive, taversable queue (FIFO). + * + * Extends [\SplDoublyLinkedList](https://www.php.net/spldoublylinkedlist) 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. It + * also restricts the iterator direction to first-in, first-out (FIFO) exactly + * like [\SplQueue](https://www.php.net/splqueue). + * + * @author Sebastian Meyer + * @package Basics\DataStructures + * + * @api + * + * @template AllowedType of mixed + * @extends StrictList + * @implements ArrayAccess + * @implements Iterator + */ +class StrictQueue extends StrictList implements ArrayAccess, Countable, Iterator, Serializable +{ + /** + * Dequeue an item from the queue. + * + * @return AllowedType The dequeued item + * + * @api + */ + public function dequeue(): mixed + { + return parent::shift(); + } + + /** + * Add an item to the queue. + * + * @param AllowedType $value The item to enqueue + * + * @return void + * + * @throws InvalidArgumentException if `$value` is not of allowed type + * + * @api + */ + public function enqueue(mixed $value): void + { + parent::push($value); + } + + /** + * Set the mode of iteration. + * + * @param int $mode The new iterator mode (0 or 1) + * + * There are two orthogonal sets of modes that can be set. + * + * The direction of iteration (fixed for StrictQueue): + * - StrictQueue::IT_MODE_FIFO (queue style) + * + * The behavior of the iterator (either one or the other): + * - StrictQueue::IT_MODE_DELETE (delete items) + * - StrictQueue::IT_MODE_KEEP (keep items) + * + * The default mode is: IT_MODE_FIFO | IT_MODE_KEEP + * + * @return int The set of flags and modes of iteration + * + * @throws RangeException if an invalid `$mode` is given + * @throws RuntimeException if trying to change iterator direction + * + * @api + */ + final public function setIteratorMode(int $mode): int + { + if ($mode > 1) { + throw new RuntimeException( + sprintf( + 'Changing the iterator direction of %s is prohibited.', + static::class + ) + ); + } + return parent::setIteratorMode($mode); + } + + /** + * Create a type-sensitive, traversable queue of items. + * + * @param string[] $allowedTypes Allowed data types of items (optional) + * + * If empty, all types are allowed. + * Possible values are: + * - "array" + * - "bool" + * - "callable" + * - "countable" + * - "float" or "double" + * - "int" or "integer" or "long" + * - "iterable" + * - "null" + * - "numeric" + * - "object" or FQCN + * - "resource" + * - "scalar" + * - "string" + * + * @return void + * + * @throws InvalidArgumentException if any value of `$allowedTypes` is not a string + */ + public function __construct(array $allowedTypes = []) + { + parent::__construct($allowedTypes); + $this->setIteratorMode(0); + } +} diff --git a/doc/files/src/DataStructures/StrictStack.php.txt b/doc/files/src/DataStructures/StrictStack.php.txt new file mode 100644 index 0000000..00c355c --- /dev/null +++ b/doc/files/src/DataStructures/StrictStack.php.txt @@ -0,0 +1,149 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\DataStructures; + +use ArrayAccess; +use Countable; +use InvalidArgumentException; +use Iterator; +use RangeException; +use RuntimeException; +use Serializable; + +/** + * A type-sensitive, taversable stack (LIFO). + * + * Extends [\SplDoublyLinkedList](https://www.php.net/spldoublylinkedlist) 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. It + * also restricts the iterator direction to last-in, first-out (LIFO) exactly + * like [\SplStack](https://www.php.net/splstack). + * + * @author Sebastian Meyer + * @package Basics\DataStructures + * + * @api + * + * @template AllowedType of mixed + * @extends StrictList + * @implements ArrayAccess + * @implements Iterator + */ +class StrictStack extends StrictList implements ArrayAccess, Countable, Iterator, Serializable +{ + /** + * Add an item to the stack. + * + * @param AllowedType $value The item to stack + * + * @return void + * + * @throws InvalidArgumentException if `$value` is not of allowed type + * + * @api + */ + public function stack(mixed $value): void + { + parent::push($value); + } + + /** + * Unstack an item from the stack. + * + * @return AllowedType The unstacked item + * + * @api + */ + public function unstack(): mixed + { + return parent::pop(); + } + + /** + * Set the mode of iteration. + * + * @param int $mode The new iterator mode (2 or 3) + * + * There are two orthogonal sets of modes that can be set. + * + * The direction of iteration (fixed for StrictStack): + * - StrictStack::IT_MODE_LIFO (stack style) + * + * The behavior of the iterator (either one or the other): + * - StrictStack::IT_MODE_DELETE (delete items) + * - StrictStack::IT_MODE_KEEP (keep items) + * + * The default mode is: IT_MODE_LIFO | IT_MODE_KEEP + * + * @return int The set of flags and modes of iteration + * + * @throws RangeException if an invalid `$mode` is given + * @throws RuntimeException if trying to change iterator direction + * + * @api + */ + final public function setIteratorMode(int $mode): int + { + if ($mode < 2) { + throw new RuntimeException( + sprintf( + 'Changing the iterator direction of %s is prohibited.', + static::class + ) + ); + } + return parent::setIteratorMode($mode); + } + + /** + * Create a type-sensitive, traversable stack of items. + * + * @param string[] $allowedTypes Allowed data types of items (optional) + * + * If empty, all types are allowed. + * Possible values are: + * - "array" + * - "bool" + * - "callable" + * - "countable" + * - "float" or "double" + * - "int" or "integer" or "long" + * - "iterable" + * - "null" + * - "numeric" + * - "object" or FQCN + * - "resource" + * - "scalar" + * - "string" + * + * @return void + * + * @throws InvalidArgumentException if any value of `$allowedTypes` is not a string + */ + public function __construct(array $allowedTypes = []) + { + parent::__construct($allowedTypes); + $this->setIteratorMode(2); + } +} diff --git a/doc/files/src/ErrorHandlers/ThrowErrorException.php.txt b/doc/files/src/ErrorHandlers/ThrowErrorException.php.txt new file mode 100644 index 0000000..f580b6b --- /dev/null +++ b/doc/files/src/ErrorHandlers/ThrowErrorException.php.txt @@ -0,0 +1,64 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\ErrorHandlers; + +use ErrorException; + +/** + * Throws internal errors as exceptions. + * + * If registered as error handler, this converts an internal PHP error into an + * `ErrorException`. It respects the `error_reporting` directive. + * + * > Usage: `set_error_handler(new ThrowErrorException());` + * + * @author Sebastian Meyer + * @package Basics\ErrorHandlers + */ +class ThrowErrorException +{ + /** + * Convert an internal PHP error into an ErrorException. + * + * @param int $errno The severity of the error + * @param string $errstr The error message + * @param ?string $errfile The name of the file the error was raised in + * @param ?int $errline The line number the error was raised in + * + * @return bool Always returns FALSE when not throwing an exception + * + * @throws ErrorException if `error_reporting` is set to report the error + */ + public function __invoke( + int $errno = E_USER_ERROR, + string $errstr = '', + ?string $errfile = null, + ?int $errline = null + ): bool { + if ((error_reporting() & $errno) > 0) { + throw new ErrorException($errstr, 0, $errno, $errfile, $errline); + } + return false; + } +} diff --git a/doc/files/src/ErrorHandlers/TriggerExceptionError.php.txt b/doc/files/src/ErrorHandlers/TriggerExceptionError.php.txt new file mode 100644 index 0000000..98d0f02 --- /dev/null +++ b/doc/files/src/ErrorHandlers/TriggerExceptionError.php.txt @@ -0,0 +1,59 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\ErrorHandlers; + +use Throwable; + +/** + * Triggers errors for uncaught exceptions. + * + * If registered as exception handler, this catches an uncaught exception and + * converts it into an internal PHP error of severity `E_USER_ERROR`. + * + * > Usage: `set_exception_handler(new TriggerExceptionError());` + * + * @author Sebastian Meyer + * @package Basics\ErrorHandlers + */ +class TriggerExceptionError +{ + /** + * Convert an uncaught exception into an PHP error. + * + * @param Throwable $exception The exception + * + * @return void + */ + public function __invoke(Throwable $exception): void + { + $message = sprintf( + 'Uncaught Exception [%d] in file %s on line %d: %s', + $exception->getCode(), + $exception->getFile(), + $exception->getLine(), + $exception->getMessage() + ); + trigger_error($message, E_USER_ERROR); + } +} diff --git a/doc/files/src/InterfaceTraits/ArrayAccessTrait.php.txt b/doc/files/src/InterfaceTraits/ArrayAccessTrait.php.txt new file mode 100644 index 0000000..1b99e2c --- /dev/null +++ b/doc/files/src/InterfaceTraits/ArrayAccessTrait.php.txt @@ -0,0 +1,113 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\InterfaceTraits; + +use ArrayAccess; + +/** + * A generic implementation of the ArrayAccess interface. + * + * Internally it accesses the protected `$_data` array. + * + * @author Sebastian Meyer + * @package Basics\InterfaceTraits + * + * @api + * + * @template TValue of mixed + * @implements ArrayAccess + * @phpstan-require-implements ArrayAccess + */ +trait ArrayAccessTrait +{ + /** + * Holds the array-accessible data. + * + * @var TValue[] + * + * @internal + */ + protected array $_data = []; + + /** + * Check if the specified offset exists. + * + * @param array-key $offset The offset to check for + * + * @return bool Whether the offset exists + * + * @api + */ + public function offsetExists(mixed $offset): bool + { + return isset($this->_data[$offset]); + } + + /** + * Retrieve data at the specified offset. + * + * @param array-key $offset The offset to retrieve + * + * @return ?TValue The value at the offset or NULL if invalid + * + * @api + */ + public function offsetGet(mixed $offset): mixed + { + return $this->_data[$offset] ?? null; + } + + /** + * Assign a value to the specified offset. + * + * @param ?array-key $offset The offset to assign to or NULL to append + * @param TValue $value The value to set + * + * @return void + * + * @api + */ + public function offsetSet(mixed $offset, mixed $value): void + { + if (is_null($offset)) { + $this->_data[] = $value; + } else { + $this->_data[$offset] = $value; + } + } + + /** + * Unset the specified offset. + * + * @param array-key $offset The offset to unset + * + * @return void + * + * @api + */ + public function offsetUnset(mixed $offset): void + { + unset($this->_data[$offset]); + } +} diff --git a/doc/files/src/InterfaceTraits/CountableTrait.php.txt b/doc/files/src/InterfaceTraits/CountableTrait.php.txt new file mode 100644 index 0000000..3c231cc --- /dev/null +++ b/doc/files/src/InterfaceTraits/CountableTrait.php.txt @@ -0,0 +1,64 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\InterfaceTraits; + +use Countable; + +/** + * A generic implementation of the Countable interface. + * + * Internally it counts the values of the protected `$_data` array. + * + * @author Sebastian Meyer + * @package Basics\InterfaceTraits + * + * @api + * + * @template TValue of mixed + * @implements Countable + * @phpstan-require-implements Countable + */ +trait CountableTrait +{ + /** + * Holds the countable data. + * + * @var TValue[] + * + * @internal + */ + protected array $_data = []; + + /** + * Count the data items. + * + * @return int<0, max> The number of data items + * + * @api + */ + public function count(): int + { + return count($this->_data); + } +} diff --git a/doc/files/src/InterfaceTraits/IteratorAggregateTrait.php.txt b/doc/files/src/InterfaceTraits/IteratorAggregateTrait.php.txt new file mode 100644 index 0000000..934fffe --- /dev/null +++ b/doc/files/src/InterfaceTraits/IteratorAggregateTrait.php.txt @@ -0,0 +1,65 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\InterfaceTraits; + +use ArrayIterator; +use IteratorAggregate; + +/** + * A generic implementation of the IteratorAggregate interface. + * + * Internally it iterates over the protected `$_data` array. + * + * @author Sebastian Meyer + * @package Basics\InterfaceTraits + * + * @api + * + * @template TValue of mixed + * @implements IteratorAggregate + * @phpstan-require-implements IteratorAggregate + */ +trait IteratorAggregateTrait +{ + /** + * Holds the iterable data. + * + * @var TValue[] + * + * @internal + */ + protected array $_data = []; + + /** + * Retrieve an external iterator. + * + * @return ArrayIterator New iterator for the data array + * + * @api + */ + public function getIterator(): ArrayIterator + { + return new ArrayIterator($this->_data); + } +} diff --git a/doc/files/src/InterfaceTraits/IteratorTrait.php.txt b/doc/files/src/InterfaceTraits/IteratorTrait.php.txt new file mode 100644 index 0000000..576e165 --- /dev/null +++ b/doc/files/src/InterfaceTraits/IteratorTrait.php.txt @@ -0,0 +1,128 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\InterfaceTraits; + +use Iterator; + +/** + * A generic implementation of the Iterator interface. + * + * Internally it iterates over the protected `$_data` array. + * + * @author Sebastian Meyer + * @package Basics\InterfaceTraits + * + * @api + * + * @template TValue of mixed + * @implements Iterator + * @phpstan-require-implements Iterator + */ +trait IteratorTrait +{ + /** + * Holds the iterable data. + * + * @var TValue[] + * + * @internal + */ + protected array $_data = []; + + /** + * Return the current item. + * + * @return ?TValue The current item or NULL if invalid + * + * @api + */ + public function current(): mixed + { + if ($this->valid()) { + /** @var TValue */ + return current($this->_data); + } + return null; + } + + /** + * Return the current key. + * + * @return ?array-key The current key or NULL if invalid + * + * @api + */ + public function key(): mixed + { + return key($this->_data); + } + + /** + * Move forward to next item. + * + * @return void + * + * @api + */ + public function next(): void + { + next($this->_data); + } + + /** + * Move back to previous item. + * + * @return void + * + * @api + */ + public function prev(): void + { + prev($this->_data); + } + + /** + * Rewind the iterator to the first item. + * + * @return void + * + * @api + */ + public function rewind(): void + { + reset($this->_data); + } + + /** + * Check if current position is valid. + * + * @return bool Whether the current position is valid + * + * @api + */ + public function valid(): bool + { + return !is_null($this->key()); + } +} diff --git a/doc/files/src/Interfaces/ArrayAccessTrait.php.txt b/doc/files/src/Interfaces/ArrayAccessTrait.php.txt new file mode 100644 index 0000000..2cc109d --- /dev/null +++ b/doc/files/src/Interfaces/ArrayAccessTrait.php.txt @@ -0,0 +1,113 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\Interfaces; + +use ArrayAccess; + +/** + * A generic implementation of the ArrayAccess interface. + * + * Internally it accesses the protected `$_data` array. + * + * @author Sebastian Meyer + * @package Basics\Interfaces + * + * @api + * + * @template TValue of mixed + * @implements ArrayAccess + * @phpstan-require-implements ArrayAccess + */ +trait ArrayAccessTrait +{ + /** + * Holds the array-accessible data. + * + * @var TValue[] + * + * @internal + */ + protected array $_data = []; + + /** + * Check if the specified offset exists. + * + * @param array-key $offset The offset to check for + * + * @return bool Whether the offset exists + * + * @api + */ + public function offsetExists(mixed $offset): bool + { + return isset($this->_data[$offset]); + } + + /** + * Retrieve data at the specified offset. + * + * @param array-key $offset The offset to retrieve + * + * @return ?TValue The value at the offset or NULL if invalid + * + * @api + */ + public function offsetGet(mixed $offset): mixed + { + return $this->_data[$offset] ?? null; + } + + /** + * Assign a value to the specified offset. + * + * @param ?array-key $offset The offset to assign to or NULL to append + * @param TValue $value The value to set + * + * @return void + * + * @api + */ + public function offsetSet(mixed $offset, mixed $value): void + { + if (is_null($offset)) { + $this->_data[] = $value; + } else { + $this->_data[$offset] = $value; + } + } + + /** + * Unset the specified offset. + * + * @param array-key $offset The offset to unset + * + * @return void + * + * @api + */ + public function offsetUnset(mixed $offset): void + { + unset($this->_data[$offset]); + } +} diff --git a/doc/files/src/Interfaces/CountableTrait.php.txt b/doc/files/src/Interfaces/CountableTrait.php.txt new file mode 100644 index 0000000..039a725 --- /dev/null +++ b/doc/files/src/Interfaces/CountableTrait.php.txt @@ -0,0 +1,64 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\Interfaces; + +use Countable; + +/** + * A generic implementation of the Countable interface. + * + * Internally it counts the values of the protected `$_data` array. + * + * @author Sebastian Meyer + * @package Basics\Interfaces + * + * @api + * + * @template TValue of mixed + * @implements Countable + * @phpstan-require-implements Countable + */ +trait CountableTrait +{ + /** + * Holds the countable data. + * + * @var TValue[] + * + * @internal + */ + protected array $_data = []; + + /** + * Count the data items. + * + * @return int<0, max> The number of data items + * + * @api + */ + public function count(): int + { + return count($this->_data); + } +} diff --git a/doc/files/src/Interfaces/IteratorAggregateTrait.php.txt b/doc/files/src/Interfaces/IteratorAggregateTrait.php.txt new file mode 100644 index 0000000..d9d23bb --- /dev/null +++ b/doc/files/src/Interfaces/IteratorAggregateTrait.php.txt @@ -0,0 +1,65 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\Interfaces; + +use ArrayIterator; +use IteratorAggregate; + +/** + * A generic implementation of the IteratorAggregate interface. + * + * Internally it iterates over the protected `$_data` array. + * + * @author Sebastian Meyer + * @package Basics\Interfaces + * + * @api + * + * @template TValue of mixed + * @implements IteratorAggregate + * @phpstan-require-implements IteratorAggregate + */ +trait IteratorAggregateTrait +{ + /** + * Holds the iterable data. + * + * @var TValue[] + * + * @internal + */ + protected array $_data = []; + + /** + * Retrieve an external iterator. + * + * @return ArrayIterator New iterator for the data array + * + * @api + */ + public function getIterator(): ArrayIterator + { + return new ArrayIterator($this->_data); + } +} diff --git a/doc/files/src/Interfaces/IteratorTrait.php.txt b/doc/files/src/Interfaces/IteratorTrait.php.txt new file mode 100644 index 0000000..f29c5ae --- /dev/null +++ b/doc/files/src/Interfaces/IteratorTrait.php.txt @@ -0,0 +1,128 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\Interfaces; + +use Iterator; + +/** + * A generic implementation of the Iterator interface. + * + * Internally it iterates over the protected `$_data` array. + * + * @author Sebastian Meyer + * @package Basics\Interfaces + * + * @api + * + * @template TValue of mixed + * @implements Iterator + * @phpstan-require-implements Iterator + */ +trait IteratorTrait +{ + /** + * Holds the iterable data. + * + * @var TValue[] + * + * @internal + */ + protected array $_data = []; + + /** + * Return the current item. + * + * @return ?TValue The current item or NULL if invalid + * + * @api + */ + public function current(): mixed + { + if ($this->valid()) { + /** @var TValue */ + return current($this->_data); + } + return null; + } + + /** + * Return the current key. + * + * @return ?array-key The current key or NULL if invalid + * + * @api + */ + public function key(): mixed + { + return key($this->_data); + } + + /** + * Move forward to next item. + * + * @return void + * + * @api + */ + public function next(): void + { + next($this->_data); + } + + /** + * Move back to previous item. + * + * @return void + * + * @api + */ + public function prev(): void + { + prev($this->_data); + } + + /** + * Rewind the iterator to the first item. + * + * @return void + * + * @api + */ + public function rewind(): void + { + reset($this->_data); + } + + /** + * Check if current position is valid. + * + * @return bool Whether the current position is valid + * + * @api + */ + public function valid(): bool + { + return !is_null($this->key()); + } +} diff --git a/doc/files/src/Traits/Getter.php.txt b/doc/files/src/Traits/Getter.php.txt new file mode 100644 index 0000000..68a5d21 --- /dev/null +++ b/doc/files/src/Traits/Getter.php.txt @@ -0,0 +1,88 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\Traits; + +use InvalidArgumentException; + +/** + * Reads data from inaccessible properties by using magic methods. + * + * To make a `protected` or `private` property readable, provide a method named + * `_magicGet{Property}()` which handles the reading. Replace `{Property}` in + * the method's name with the name of the actual property (with an uppercase + * first letter). + * + * > 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. + * + * @author Sebastian Meyer + * @package Basics\Traits + */ +trait Getter +{ + /** + * Read data from an inaccessible property. + * + * @param string $property The class property to get + * + * @return mixed The class property's current value + * + * @throws InvalidArgumentException if the property or getter method do not exist + */ + public function __get(string $property): mixed + { + $method = '_magicGet' . ucfirst($property); + if (property_exists(static::class, $property) && method_exists(static::class, $method)) { + return $this->$method(); + } else { + throw new InvalidArgumentException( + sprintf( + 'Invalid property or missing getter method for property: %s->%s.', + static::class, + $property + ) + ); + } + } + + /** + * Check if an inaccessible property is set and not empty. + * + * @param string $property The class property to check + * + * @return bool Whether the class property is set and not empty + */ + public function __isset(string $property): bool + { + try { + /** @var mixed $value */ + $value = $this->__get($property); + } catch (InvalidArgumentException) { + $value = null; + } finally { + return boolval($value ?? null) !== false; + } + } +} diff --git a/doc/files/src/Traits/OverloadingGetter.php.txt b/doc/files/src/Traits/OverloadingGetter.php.txt new file mode 100644 index 0000000..a1a858e --- /dev/null +++ b/doc/files/src/Traits/OverloadingGetter.php.txt @@ -0,0 +1,72 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\Traits; + +/** + * Overloads a class with readable magic properties. + * + * Internally it reads the protected `$_data` array whose keys are interpreted + * as property names. + * + * > Example: Reading `Foo->bar` will return the value of `$_data['bar']`. + * + * @author Sebastian Meyer + * @package Basics\Traits + */ +trait OverloadingGetter +{ + /** + * Holds the magically readable data. + * + * @var mixed[] + * + * @internal + */ + protected array $_data = []; + + /** + * Read data from an overloaded property. + * + * @param string $property The class property to get + * + * @return mixed The property's current value or NULL if not set + */ + public function __get(string $property): mixed + { + return $this->_data[$property] ?? null; + } + + /** + * Check if an overloaded property is set and not empty. + * + * @param string $property The class property to check + * + * @return bool Whether the class property is set and not empty + */ + public function __isset(string $property): bool + { + $value = $this->__get($property); + return boolval($value) !== false; + } +} diff --git a/doc/files/src/Traits/OverloadingSetter.php.txt b/doc/files/src/Traits/OverloadingSetter.php.txt new file mode 100644 index 0000000..c78e01e --- /dev/null +++ b/doc/files/src/Traits/OverloadingSetter.php.txt @@ -0,0 +1,72 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\Traits; + +/** + * Overloads a class with writable magic properties. + * + * Internally it writes the protected `$_data` array whose keys are interpreted + * as property names. + * + * > Example: `Foo->bar = 42;` will set `$_data['bar']` to `42`. + * + * @author Sebastian Meyer + * @package Basics\Traits + */ +trait OverloadingSetter +{ + /** + * Holds the magically writable data. + * + * @var mixed[] + * + * @internal + */ + protected array $_data = []; + + /** + * Write data to an overloaded property. + * + * @param string $property The class property to set + * @param mixed $value The new value of the property + * + * @return void + */ + public function __set(string $property, mixed $value): void + { + $this->_data[$property] = $value; + } + + /** + * Unset an overloaded property. + * + * @param string $property The class property to unset + * + * @return void + */ + public function __unset(string $property): void + { + unset($this->_data[$property]); + } +} diff --git a/doc/files/src/Traits/Setter.php.txt b/doc/files/src/Traits/Setter.php.txt new file mode 100644 index 0000000..77c8a99 --- /dev/null +++ b/doc/files/src/Traits/Setter.php.txt @@ -0,0 +1,85 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\Traits; + +use InvalidArgumentException; + +/** + * Writes data to inaccessible properties by using magic methods. + * + * To make a `protected` or `private` property writable, provide a method named + * `_magicSet{Property}()` which handles the writing. Replace `{Property}` in + * the method's name with the name of the actual property (with an uppercase + * first letter). + * + * > 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. + * + * @author Sebastian Meyer + * @package Basics\Traits + */ +trait Setter +{ + /** + * Write data to an inaccessible property. + * + * @param string $property The class property to set + * @param mixed $value The new value of the property + * + * @return void + * + * @throws InvalidArgumentException if the property or setter method do not exist + */ + public function __set(string $property, mixed $value): void + { + $method = '_magicSet' . ucfirst($property); + if (property_exists(static::class, $property) && method_exists(static::class, $method)) { + $this->$method($value); + } else { + throw new InvalidArgumentException( + sprintf( + 'Invalid property or missing setter method for property: %s->%s.', + static::class, + $property + ) + ); + } + } + + /** + * Unset an inaccessible property. + * + * @param string $property The class property to unset + * + * @return void + */ + public function __unset(string $property): void + { + try { + $this->__set($property, null); + } catch (InvalidArgumentException) { + } + } +} diff --git a/doc/files/src/Traits/Singleton.php.txt b/doc/files/src/Traits/Singleton.php.txt new file mode 100644 index 0000000..01b988a --- /dev/null +++ b/doc/files/src/Traits/Singleton.php.txt @@ -0,0 +1,91 @@ + + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +declare(strict_types=1); + +namespace OCC\Basics\Traits; + +use LogicException; + +/** + * Allows just a single instance of the class using this trait. + * + * Get the singleton by calling the static method `getInstance()`. + * + * If there is no object yet, the constructor is called with the same arguments + * as `getInstance()`. Any later call will just return the already instantiated + * object (irrespective of the given arguments). + * + * In order for this to work as expected, the constructor has to be implemented + * as `private` to prevent direct instantiation of the class. + * + * @author Sebastian Meyer + * @package Basics\Traits + */ +trait Singleton +{ + /** + * Holds the singleton instance. + * + * @var array + * + * @internal + */ + private static array $_singleton = []; + + /** + * Get a singleton instance of this class. + * + * @param mixed ...$args Constructor arguments + * + * @return static The singleton instance + * + * @api + */ + final public static function getInstance(mixed ...$args): static + { + if (!isset(static::$_singleton[static::class])) { + static::$_singleton[static::class] = new static(...$args); + } + return static::$_singleton[static::class]; + } + + /** + * This is a singleton class, thus the constructor is private. + * + * @return void + * + * @see Singleton::getInstance() to get an singleton object of the class + */ + abstract private function __construct(); + + /** + * This is a singleton class, thus cloning is prohibited. + * + * @return void + * + * @throws LogicException when trying to clone the singleton object + */ + final public function __clone() + { + throw new LogicException('Cloning a singleton is prohibited.'); + } +} diff --git a/doc/graphs/classes.html b/doc/graphs/classes.html new file mode 100644 index 0000000..a046b59 --- /dev/null +++ b/doc/graphs/classes.html @@ -0,0 +1,168 @@ + + + + + PHP Basics + + + + + + + + + +
                                                                                  +

                                                                                  PHP Basics

                                                                                  + + + + + + +
                                                                                  + +
                                                                                  +
                                                                                  + + + + +
                                                                                  +
                                                                                  + +
                                                                                  + +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  +

                                                                                  Search results

                                                                                  + +
                                                                                  +
                                                                                  +
                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    + + +
                                                                                    + + + + + + + + diff --git a/doc/guides/changelog/index.html b/doc/guides/changelog/index.html new file mode 100644 index 0000000..7372075 --- /dev/null +++ b/doc/guides/changelog/index.html @@ -0,0 +1,180 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + + +
                                                                                    +

                                                                                    PHP Basics

                                                                                    + + + + + + +
                                                                                    + +
                                                                                    +
                                                                                    + + + + +
                                                                                    +
                                                                                    +

                                                                                    Changelog

                                                                                    + +
                                                                                    +
                                                                                      +
                                                                                    +
                                                                                    + +
                                                                                    + +
                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    +

                                                                                    Search results

                                                                                    + +
                                                                                    +
                                                                                    +
                                                                                      +
                                                                                      +
                                                                                      +
                                                                                      +
                                                                                      + + +
                                                                                      + + + + + + + + diff --git a/doc/guides/index.html b/doc/guides/index.html new file mode 100644 index 0000000..3fbceb4 --- /dev/null +++ b/doc/guides/index.html @@ -0,0 +1,177 @@ + + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + + +
                                                                                      +

                                                                                      PHP Basics

                                                                                      + + + + + + +
                                                                                      + +
                                                                                      +
                                                                                      + + + + +
                                                                                      +
                                                                                      +

                                                                                      Documentation

                                                                                      + + +
                                                                                      + +
                                                                                      +
                                                                                      +
                                                                                      +
                                                                                      +

                                                                                      Search results

                                                                                      + +
                                                                                      +
                                                                                      +
                                                                                        +
                                                                                        +
                                                                                        +
                                                                                        +
                                                                                        + + +
                                                                                        + + + + + + + + diff --git a/doc/guides/installation/index.html b/doc/guides/installation/index.html new file mode 100644 index 0000000..a94c7f1 --- /dev/null +++ b/doc/guides/installation/index.html @@ -0,0 +1,188 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + + +
                                                                                        +

                                                                                        PHP Basics

                                                                                        + + + + + + +
                                                                                        + +
                                                                                        +
                                                                                        + + + + +
                                                                                        +
                                                                                        +

                                                                                        Installation

                                                                                        + +
                                                                                        + +
                                                                                        + +
                                                                                        + +
                                                                                        +
                                                                                        +
                                                                                        +
                                                                                        +

                                                                                        Search results

                                                                                        + +
                                                                                        +
                                                                                        +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          + + +
                                                                                          + + + + + + + + diff --git a/doc/guides/installation/test.html b/doc/guides/installation/test.html new file mode 100644 index 0000000..fd45977 --- /dev/null +++ b/doc/guides/installation/test.html @@ -0,0 +1,195 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          +

                                                                                          PHP Basics

                                                                                          + + + + + + +
                                                                                          + +
                                                                                          +
                                                                                          + + + + +
                                                                                          +
                                                                                          +

                                                                                          Test

                                                                                          + +
                                                                                          +

                                                                                          Heading 1

                                                                                          + +
                                                                                          +

                                                                                          Heading 2

                                                                                          + +
                                                                                          +

                                                                                          Heading 3

                                                                                          + +
                                                                                          +
                                                                                          Heading 4
                                                                                          + +
                                                                                          + +
                                                                                          + +
                                                                                          + +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          +

                                                                                          Search results

                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            + + +
                                                                                            + + + + + + + + diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 0000000..3814c2c --- /dev/null +++ b/doc/index.html @@ -0,0 +1,213 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                            +

                                                                                            PHP Basics

                                                                                            + + + + + + +
                                                                                            + +
                                                                                            +
                                                                                            + + + + +
                                                                                            +
                                                                                            + + +

                                                                                            PHP Basics

                                                                                            + +

                                                                                            A collection of generic classes and useful traits for PHP projects.

                                                                                            + +

                                                                                            The package currently contains classes for type-sensitive + data structures, error and exception handlers, multiple + traits implementing standard interfaces, and more generic + traits for common use cases. They share the same design principles + like property and method naming schema, highest coding standards of PHPStan + and Psalm, and full PSR-12 + compliance to make sure they can be combined and easily re-used in other projects.

                                                                                            + +

                                                                                            Table of Contents

                                                                                            + +

                                                                                            Documentation

                                                                                            +
                                                                                            +
                                                                                            + Installation +
                                                                                            +
                                                                                            + Test
                                                                                            +
                                                                                            +
                                                                                            + Changelog +
                                                                                            +
                                                                                            +

                                                                                            Packages

                                                                                            +
                                                                                            +
                                                                                            + Basics +
                                                                                            +
                                                                                            + DataStructures
                                                                                            + ErrorHandlers
                                                                                            + Interfaces
                                                                                            + Traits
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +

                                                                                            Search results

                                                                                            + +
                                                                                            +
                                                                                            +
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              + + +
                                                                                              + + + + + + + + diff --git a/doc/indices/files.html b/doc/indices/files.html new file mode 100644 index 0000000..4aa9dc3 --- /dev/null +++ b/doc/indices/files.html @@ -0,0 +1,209 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                              +

                                                                                              PHP Basics

                                                                                              + + + + + + +
                                                                                              + +
                                                                                              +
                                                                                              + + + + + +
                                                                                              +
                                                                                              +
                                                                                              +

                                                                                              Search results

                                                                                              + +
                                                                                              +
                                                                                              +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                + + +
                                                                                                + + + + + + + + diff --git a/doc/js/search.js b/doc/js/search.js new file mode 100644 index 0000000..093d6d0 --- /dev/null +++ b/doc/js/search.js @@ -0,0 +1,173 @@ +// Search module for phpDocumentor +// +// This module is a wrapper around fuse.js that will use a given index and attach itself to a +// search form and to a search results pane identified by the following data attributes: +// +// 1. data-search-form +// 2. data-search-results +// +// The data-search-form is expected to have a single input element of type 'search' that will trigger searching for +// a series of results, were the data-search-results pane is expected to have a direct UL child that will be populated +// with rendered results. +// +// The search has various stages, upon loading this stage the data-search-form receives the CSS class +// 'phpdocumentor-search--enabled'; this indicates that JS is allowed and indices are being loaded. It is recommended +// to hide the form by default and show it when it receives this class to achieve progressive enhancement for this +// feature. +// +// After loading this module, it is expected to load a search index asynchronously, for example: +// +// +// +// In this script the generated index should attach itself to the search module using the `appendIndex` function. By +// doing it like this the page will continue loading, unhindered by the loading of the search. +// +// After the page has fully loaded, and all these deferred indexes loaded, the initialization of the search module will +// be called and the form will receive the class 'phpdocumentor-search--active', indicating search is ready. At this +// point, the input field will also have it's 'disabled' attribute removed. +var Search = (function () { + var fuse; + var index = []; + var options = { + shouldSort: true, + threshold: 0.6, + location: 0, + distance: 100, + maxPatternLength: 32, + minMatchCharLength: 1, + keys: [ + "fqsen", + "name", + "summary", + "url" + ] + }; + + // Credit David Walsh (https://davidwalsh.name/javascript-debounce-function) + // Returns a function, that, as long as it continues to be invoked, will not + // be triggered. The function will be called after it stops being called for + // N milliseconds. If `immediate` is passed, trigger the function on the + // leading edge, instead of the trailing. + function debounce(func, wait, immediate) { + var timeout; + + return function executedFunction() { + var context = this; + var args = arguments; + + var later = function () { + timeout = null; + if (!immediate) func.apply(context, args); + }; + + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + }; + } + + function close() { + // Start scroll prevention: https://css-tricks.com/prevent-page-scrolling-when-a-modal-is-open/ + const scrollY = document.body.style.top; + document.body.style.position = ''; + document.body.style.top = ''; + window.scrollTo(0, parseInt(scrollY || '0') * -1); + // End scroll prevention + + var form = document.querySelector('[data-search-form]'); + var searchResults = document.querySelector('[data-search-results]'); + + form.classList.toggle('phpdocumentor-search--has-results', false); + searchResults.classList.add('phpdocumentor-search-results--hidden'); + var searchField = document.querySelector('[data-search-form] input[type="search"]'); + searchField.blur(); + } + + function search(event) { + // Start scroll prevention: https://css-tricks.com/prevent-page-scrolling-when-a-modal-is-open/ + document.body.style.position = 'fixed'; + document.body.style.top = `-${window.scrollY}px`; + // End scroll prevention + + // prevent enter's from autosubmitting + event.stopPropagation(); + + var form = document.querySelector('[data-search-form]'); + var searchResults = document.querySelector('[data-search-results]'); + var searchResultEntries = document.querySelector('[data-search-results] .phpdocumentor-search-results__entries'); + + searchResultEntries.innerHTML = ''; + + if (!event.target.value) { + close(); + return; + } + + form.classList.toggle('phpdocumentor-search--has-results', true); + searchResults.classList.remove('phpdocumentor-search-results--hidden'); + var results = fuse.search(event.target.value, {limit: 25}); + + results.forEach(function (result) { + var entry = document.createElement("li"); + entry.classList.add("phpdocumentor-search-results__entry"); + entry.innerHTML += '

                                                                                                ' + result.name + "

                                                                                                \n"; + entry.innerHTML += '' + result.fqsen + "\n"; + entry.innerHTML += '
                                                                                                ' + result.summary + '
                                                                                                '; + searchResultEntries.appendChild(entry) + }); + } + + function appendIndex(added) { + index = index.concat(added); + + // re-initialize search engine when appending an index after initialisation + if (typeof fuse !== 'undefined') { + fuse = new Fuse(index, options); + } + } + + function init() { + fuse = new Fuse(index, options); + + var form = document.querySelector('[data-search-form]'); + var searchField = document.querySelector('[data-search-form] input[type="search"]'); + + var closeButton = document.querySelector('.phpdocumentor-search-results__close'); + closeButton.addEventListener('click', function() { close() }.bind(this)); + + var searchResults = document.querySelector('[data-search-results]'); + searchResults.addEventListener('click', function() { close() }.bind(this)); + + form.classList.add('phpdocumentor-search--active'); + + searchField.setAttribute('placeholder', 'Search (Press "/" to focus)'); + searchField.removeAttribute('disabled'); + searchField.addEventListener('keyup', debounce(search, 300)); + + window.addEventListener('keyup', function (event) { + if (event.key === '/') { + searchField.focus(); + } + if (event.code === 'Escape') { + close(); + } + }.bind(this)); + } + + return { + appendIndex, + init + } +})(); + +window.addEventListener('DOMContentLoaded', function () { + var form = document.querySelector('[data-search-form]'); + + // When JS is supported; show search box. Must be before including the search for it to take effect immediately + form.classList.add('phpdocumentor-search--enabled'); +}); + +window.addEventListener('load', function () { + Search.init(); +}); diff --git a/doc/js/searchIndex.js b/doc/js/searchIndex.js new file mode 100644 index 0000000..7f20207 --- /dev/null +++ b/doc/js/searchIndex.js @@ -0,0 +1,529 @@ +Search.appendIndex( + [ + { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictCollection", + "name": "StrictCollection", + "summary": "A\u0020type\u002Dsensitive,\u0020unsorted\u0020collection.", + "url": "classes/OCC-Basics-DataStructures-StrictCollection.html" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictCollection\u003A\u003Aadd\u0028\u0029", + "name": "add", + "summary": "Add\/insert\u0020a\u0020new\u0020item\u0020at\u0020the\u0020specified\u0020index.", + "url": "classes/OCC-Basics-DataStructures-StrictCollection.html#method_add" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictCollection\u003A\u003Aclear\u0028\u0029", + "name": "clear", + "summary": "Clear\u0020the\u0020collection\u0020of\u0020any\u0020items.", + "url": "classes/OCC-Basics-DataStructures-StrictCollection.html#method_clear" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictCollection\u003A\u003Aget\u0028\u0029", + "name": "get", + "summary": "Get\u0020the\u0020item\u0020at\u0020the\u0020specified\u0020index.", + "url": "classes/OCC-Basics-DataStructures-StrictCollection.html#method_get" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictCollection\u003A\u003AgetAllowedTypes\u0028\u0029", + "name": "getAllowedTypes", + "summary": "Get\u0020allowed\u0020data\u0020types\u0020for\u0020collection\u0020items.", + "url": "classes/OCC-Basics-DataStructures-StrictCollection.html#method_getAllowedTypes" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictCollection\u003A\u003AisAllowedType\u0028\u0029", + "name": "isAllowedType", + "summary": "Check\u0020if\u0020the\u0020item\u0027s\u0020data\u0020type\u0020is\u0020allowed\u0020in\u0020the\u0020collection.", + "url": "classes/OCC-Basics-DataStructures-StrictCollection.html#method_isAllowedType" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictCollection\u003A\u003AisEmpty\u0028\u0029", + "name": "isEmpty", + "summary": "Check\u0020if\u0020collection\u0020is\u0020empty.", + "url": "classes/OCC-Basics-DataStructures-StrictCollection.html#method_isEmpty" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictCollection\u003A\u003AisList\u0028\u0029", + "name": "isList", + "summary": "Check\u0020if\u0020this\u0020collection\u0020can\u0020be\u0020considered\u0020a\u0020list.", + "url": "classes/OCC-Basics-DataStructures-StrictCollection.html#method_isList" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictCollection\u003A\u003AoffsetSet\u0028\u0029", + "name": "offsetSet", + "summary": "Set\u0020the\u0020item\u0020at\u0020the\u0020specified\u0020offset.", + "url": "classes/OCC-Basics-DataStructures-StrictCollection.html#method_offsetSet" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictCollection\u003A\u003Aremove\u0028\u0029", + "name": "remove", + "summary": "Remove\u0020an\u0020item\u0020from\u0020the\u0020collection.", + "url": "classes/OCC-Basics-DataStructures-StrictCollection.html#method_remove" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictCollection\u003A\u003Aserialize\u0028\u0029", + "name": "serialize", + "summary": "Get\u0020string\u0020representation\u0020of\u0020\u0024this.", + "url": "classes/OCC-Basics-DataStructures-StrictCollection.html#method_serialize" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictCollection\u003A\u003Aset\u0028\u0029", + "name": "set", + "summary": "Set\u0020an\u0020item\u0020at\u0020the\u0020specified\u0020index.", + "url": "classes/OCC-Basics-DataStructures-StrictCollection.html#method_set" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictCollection\u003A\u003AsetAllowedTypes\u0028\u0029", + "name": "setAllowedTypes", + "summary": "Set\u0020allowed\u0020data\u0020types\u0020of\u0020collection\u0020items.", + "url": "classes/OCC-Basics-DataStructures-StrictCollection.html#method_setAllowedTypes" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictCollection\u003A\u003AtoArray\u0028\u0029", + "name": "toArray", + "summary": "Return\u0020array\u0020representation\u0020of\u0020collection.", + "url": "classes/OCC-Basics-DataStructures-StrictCollection.html#method_toArray" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictCollection\u003A\u003AtoStrictList\u0028\u0029", + "name": "toStrictList", + "summary": "Turn\u0020collection\u0020into\u0020a\u0020type\u002Dsensitive\u0020list.", + "url": "classes/OCC-Basics-DataStructures-StrictCollection.html#method_toStrictList" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictCollection\u003A\u003Aunserialize\u0028\u0029", + "name": "unserialize", + "summary": "Restore\u0020\u0024this\u0020from\u0020string\u0020representation.", + "url": "classes/OCC-Basics-DataStructures-StrictCollection.html#method_unserialize" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictCollection\u003A\u003A__construct\u0028\u0029", + "name": "__construct", + "summary": "Create\u0020a\u0020type\u002Dsensitive\u0020collection\u0020of\u0020items.", + "url": "classes/OCC-Basics-DataStructures-StrictCollection.html#method___construct" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList", + "name": "StrictList", + "summary": "A\u0020type\u002Dsensitive,\u0020taversable\u0020list.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Aadd\u0028\u0029", + "name": "add", + "summary": "Add\/insert\u0020a\u0020new\u0020item\u0020at\u0020the\u0020specified\u0020offset.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_add" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Aappend\u0028\u0029", + "name": "append", + "summary": "Append\u0020items\u0020at\u0020the\u0020end\u0020of\u0020the\u0020list.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_append" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Abottom\u0028\u0029", + "name": "bottom", + "summary": "Peek\u0020at\u0020the\u0020item\u0020at\u0020the\u0020beginning\u0020of\u0020the\u0020list.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_bottom" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Aclear\u0028\u0029", + "name": "clear", + "summary": "Clear\u0020the\u0020list\u0020of\u0020any\u0020items.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_clear" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Acount\u0028\u0029", + "name": "count", + "summary": "Get\u0020the\u0020number\u0020of\u0020items\u0020on\u0020the\u0020list.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_count" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Acurrent\u0028\u0029", + "name": "current", + "summary": "Get\u0020the\u0020current\u0020list\u0020item.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_current" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Aget\u0028\u0029", + "name": "get", + "summary": "Get\u0020the\u0020item\u0020at\u0020the\u0020specified\u0020index.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_get" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003AgetAllowedTypes\u0028\u0029", + "name": "getAllowedTypes", + "summary": "Get\u0020allowed\u0020data\u0020types\u0020for\u0020list\u0020items.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_getAllowedTypes" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003AgetIteratorMode\u0028\u0029", + "name": "getIteratorMode", + "summary": "Get\u0020the\u0020mode\u0020of\u0020iteration.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_getIteratorMode" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003AisAllowedType\u0028\u0029", + "name": "isAllowedType", + "summary": "Check\u0020if\u0020the\u0020item\u0027s\u0020data\u0020type\u0020is\u0020allowed\u0020on\u0020the\u0020list.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_isAllowedType" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003AisEmpty\u0028\u0029", + "name": "isEmpty", + "summary": "Check\u0020if\u0020list\u0020is\u0020empty.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_isEmpty" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003AisList\u0028\u0029", + "name": "isList", + "summary": "Check\u0020if\u0020this\u0020can\u0020be\u0020considered\u0020a\u0020list.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_isList" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Akey\u0028\u0029", + "name": "key", + "summary": "Get\u0020the\u0020current\u0020list\u0020index.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_key" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Anext\u0028\u0029", + "name": "next", + "summary": "Move\u0020the\u0020cursor\u0020to\u0020the\u0020next\u0020list\u0020index.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_next" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003AoffsetExists\u0028\u0029", + "name": "offsetExists", + "summary": "Check\u0020if\u0020the\u0020specified\u0020index\u0020exists\u0020and\u0020is\u0020not\u0020empty.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_offsetExists" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003AoffsetGet\u0028\u0029", + "name": "offsetGet", + "summary": "Get\u0020the\u0020item\u0020from\u0020the\u0020specified\u0020index.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_offsetGet" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003AoffsetSet\u0028\u0029", + "name": "offsetSet", + "summary": "Set\u0020the\u0020item\u0020at\u0020the\u0020specified\u0020offset.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_offsetSet" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003AoffsetUnset\u0028\u0029", + "name": "offsetUnset", + "summary": "Unset\u0020the\u0020item\u0020at\u0020the\u0020specified\u0020index.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_offsetUnset" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Apop\u0028\u0029", + "name": "pop", + "summary": "Pops\u0020an\u0020item\u0020from\u0020the\u0020end\u0020of\u0020the\u0020list.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_pop" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Aprepend\u0028\u0029", + "name": "prepend", + "summary": "Prepend\u0020items\u0020at\u0020the\u0020start\u0020of\u0020the\u0020list.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_prepend" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Aprev\u0028\u0029", + "name": "prev", + "summary": "Move\u0020the\u0020cursor\u0020to\u0020the\u0020previous\u0020list\u0020index.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_prev" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Apush\u0028\u0029", + "name": "push", + "summary": "Push\u0020an\u0020item\u0020at\u0020the\u0020end\u0020of\u0020the\u0020list.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_push" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Aremove\u0028\u0029", + "name": "remove", + "summary": "Remove\u0020an\u0020item\u0020from\u0020the\u0020list.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_remove" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Arewind\u0028\u0029", + "name": "rewind", + "summary": "Rewind\u0020the\u0020iterator\u0027s\u0020cursor.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_rewind" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Aset\u0028\u0029", + "name": "set", + "summary": "Set\u0020an\u0020item\u0020at\u0020the\u0020specified\u0020index.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_set" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003AsetAllowedTypes\u0028\u0029", + "name": "setAllowedTypes", + "summary": "Set\u0020allowed\u0020data\u0020types\u0020of\u0020list\u0020items.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_setAllowedTypes" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003AsetIteratorMode\u0028\u0029", + "name": "setIteratorMode", + "summary": "Set\u0020the\u0020mode\u0020of\u0020iteration.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_setIteratorMode" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Ashift\u0028\u0029", + "name": "shift", + "summary": "Shift\u0020an\u0020item\u0020from\u0020the\u0020beginning\u0020of\u0020the\u0020list.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_shift" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003AtoArray\u0028\u0029", + "name": "toArray", + "summary": "Return\u0020array\u0020representation\u0020of\u0020list.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_toArray" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003AtoStrictCollection\u0028\u0029", + "name": "toStrictCollection", + "summary": "Turn\u0020list\u0020into\u0020a\u0020type\u002Dsensitive\u0020collection.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_toStrictCollection" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Atop\u0028\u0029", + "name": "top", + "summary": "Peek\u0020at\u0020the\u0020item\u0020at\u0020the\u0020end\u0020of\u0020the\u0020list.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_top" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Aunshift\u0028\u0029", + "name": "unshift", + "summary": "Prepend\u0020the\u0020list\u0020with\u0020an\u0020item.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_unshift" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003Avalid\u0028\u0029", + "name": "valid", + "summary": "Check\u0020if\u0020current\u0020cursor\u0020position\u0020is\u0020valid.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method_valid" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictList\u003A\u003A__construct\u0028\u0029", + "name": "__construct", + "summary": "Create\u0020a\u0020type\u002Dsensitive,\u0020traversable\u0020list\u0020of\u0020items.", + "url": "classes/OCC-Basics-DataStructures-StrictList.html#method___construct" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictQueue", + "name": "StrictQueue", + "summary": "A\u0020type\u002Dsensitive,\u0020taversable\u0020queue\u0020\u0028FIFO\u0029.", + "url": "classes/OCC-Basics-DataStructures-StrictQueue.html" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictQueue\u003A\u003Adequeue\u0028\u0029", + "name": "dequeue", + "summary": "Dequeue\u0020an\u0020item\u0020from\u0020the\u0020queue.", + "url": "classes/OCC-Basics-DataStructures-StrictQueue.html#method_dequeue" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictQueue\u003A\u003Aenqueue\u0028\u0029", + "name": "enqueue", + "summary": "Add\u0020an\u0020item\u0020to\u0020the\u0020queue.", + "url": "classes/OCC-Basics-DataStructures-StrictQueue.html#method_enqueue" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictQueue\u003A\u003AsetIteratorMode\u0028\u0029", + "name": "setIteratorMode", + "summary": "Set\u0020the\u0020mode\u0020of\u0020iteration.", + "url": "classes/OCC-Basics-DataStructures-StrictQueue.html#method_setIteratorMode" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictQueue\u003A\u003A__construct\u0028\u0029", + "name": "__construct", + "summary": "Create\u0020a\u0020type\u002Dsensitive,\u0020traversable\u0020queue\u0020of\u0020items.", + "url": "classes/OCC-Basics-DataStructures-StrictQueue.html#method___construct" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictStack", + "name": "StrictStack", + "summary": "A\u0020type\u002Dsensitive,\u0020taversable\u0020stack\u0020\u0028LIFO\u0029.", + "url": "classes/OCC-Basics-DataStructures-StrictStack.html" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictStack\u003A\u003Astack\u0028\u0029", + "name": "stack", + "summary": "Add\u0020an\u0020item\u0020to\u0020the\u0020stack.", + "url": "classes/OCC-Basics-DataStructures-StrictStack.html#method_stack" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictStack\u003A\u003Aunstack\u0028\u0029", + "name": "unstack", + "summary": "Unstack\u0020an\u0020item\u0020from\u0020the\u0020stack.", + "url": "classes/OCC-Basics-DataStructures-StrictStack.html#method_unstack" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictStack\u003A\u003AsetIteratorMode\u0028\u0029", + "name": "setIteratorMode", + "summary": "Set\u0020the\u0020mode\u0020of\u0020iteration.", + "url": "classes/OCC-Basics-DataStructures-StrictStack.html#method_setIteratorMode" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures\\StrictStack\u003A\u003A__construct\u0028\u0029", + "name": "__construct", + "summary": "Create\u0020a\u0020type\u002Dsensitive,\u0020traversable\u0020stack\u0020of\u0020items.", + "url": "classes/OCC-Basics-DataStructures-StrictStack.html#method___construct" + }, { + "fqsen": "\\OCC\\Basics\\ErrorHandlers\\ThrowErrorException", + "name": "ThrowErrorException", + "summary": "Throws\u0020internal\u0020errors\u0020as\u0020exceptions.", + "url": "classes/OCC-Basics-ErrorHandlers-ThrowErrorException.html" + }, { + "fqsen": "\\OCC\\Basics\\ErrorHandlers\\ThrowErrorException\u003A\u003A__invoke\u0028\u0029", + "name": "__invoke", + "summary": "Convert\u0020an\u0020internal\u0020PHP\u0020error\u0020into\u0020an\u0020ErrorException.", + "url": "classes/OCC-Basics-ErrorHandlers-ThrowErrorException.html#method___invoke" + }, { + "fqsen": "\\OCC\\Basics\\ErrorHandlers\\TriggerExceptionError", + "name": "TriggerExceptionError", + "summary": "Triggers\u0020errors\u0020for\u0020uncaught\u0020exceptions.", + "url": "classes/OCC-Basics-ErrorHandlers-TriggerExceptionError.html" + }, { + "fqsen": "\\OCC\\Basics\\ErrorHandlers\\TriggerExceptionError\u003A\u003A__invoke\u0028\u0029", + "name": "__invoke", + "summary": "Convert\u0020an\u0020uncaught\u0020exception\u0020into\u0020an\u0020PHP\u0020error.", + "url": "classes/OCC-Basics-ErrorHandlers-TriggerExceptionError.html#method___invoke" + }, { + "fqsen": "\\OCC\\Basics\\Interfaces\\ArrayAccessTrait", + "name": "ArrayAccessTrait", + "summary": "A\u0020generic\u0020implementation\u0020of\u0020the\u0020ArrayAccess\u0020interface.", + "url": "classes/OCC-Basics-Interfaces-ArrayAccessTrait.html" + }, { + "fqsen": "\\OCC\\Basics\\Interfaces\\ArrayAccessTrait\u003A\u003AoffsetExists\u0028\u0029", + "name": "offsetExists", + "summary": "Check\u0020if\u0020the\u0020specified\u0020offset\u0020exists.", + "url": "classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetExists" + }, { + "fqsen": "\\OCC\\Basics\\Interfaces\\ArrayAccessTrait\u003A\u003AoffsetGet\u0028\u0029", + "name": "offsetGet", + "summary": "Retrieve\u0020data\u0020at\u0020the\u0020specified\u0020offset.", + "url": "classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetGet" + }, { + "fqsen": "\\OCC\\Basics\\Interfaces\\ArrayAccessTrait\u003A\u003AoffsetSet\u0028\u0029", + "name": "offsetSet", + "summary": "Assign\u0020a\u0020value\u0020to\u0020the\u0020specified\u0020offset.", + "url": "classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetSet" + }, { + "fqsen": "\\OCC\\Basics\\Interfaces\\ArrayAccessTrait\u003A\u003AoffsetUnset\u0028\u0029", + "name": "offsetUnset", + "summary": "Unset\u0020the\u0020specified\u0020offset.", + "url": "classes/OCC-Basics-Interfaces-ArrayAccessTrait.html#method_offsetUnset" + }, { + "fqsen": "\\OCC\\Basics\\Interfaces\\CountableTrait", + "name": "CountableTrait", + "summary": "A\u0020generic\u0020implementation\u0020of\u0020the\u0020Countable\u0020interface.", + "url": "classes/OCC-Basics-Interfaces-CountableTrait.html" + }, { + "fqsen": "\\OCC\\Basics\\Interfaces\\CountableTrait\u003A\u003Acount\u0028\u0029", + "name": "count", + "summary": "Count\u0020the\u0020data\u0020items.", + "url": "classes/OCC-Basics-Interfaces-CountableTrait.html#method_count" + }, { + "fqsen": "\\OCC\\Basics\\Interfaces\\IteratorAggregateTrait", + "name": "IteratorAggregateTrait", + "summary": "A\u0020generic\u0020implementation\u0020of\u0020the\u0020IteratorAggregate\u0020interface.", + "url": "classes/OCC-Basics-Interfaces-IteratorAggregateTrait.html" + }, { + "fqsen": "\\OCC\\Basics\\Interfaces\\IteratorAggregateTrait\u003A\u003AgetIterator\u0028\u0029", + "name": "getIterator", + "summary": "Retrieve\u0020an\u0020external\u0020iterator.", + "url": "classes/OCC-Basics-Interfaces-IteratorAggregateTrait.html#method_getIterator" + }, { + "fqsen": "\\OCC\\Basics\\Interfaces\\IteratorTrait", + "name": "IteratorTrait", + "summary": "A\u0020generic\u0020implementation\u0020of\u0020the\u0020Iterator\u0020interface.", + "url": "classes/OCC-Basics-Interfaces-IteratorTrait.html" + }, { + "fqsen": "\\OCC\\Basics\\Interfaces\\IteratorTrait\u003A\u003Acurrent\u0028\u0029", + "name": "current", + "summary": "Return\u0020the\u0020current\u0020item.", + "url": "classes/OCC-Basics-Interfaces-IteratorTrait.html#method_current" + }, { + "fqsen": "\\OCC\\Basics\\Interfaces\\IteratorTrait\u003A\u003Akey\u0028\u0029", + "name": "key", + "summary": "Return\u0020the\u0020current\u0020key.", + "url": "classes/OCC-Basics-Interfaces-IteratorTrait.html#method_key" + }, { + "fqsen": "\\OCC\\Basics\\Interfaces\\IteratorTrait\u003A\u003Anext\u0028\u0029", + "name": "next", + "summary": "Move\u0020forward\u0020to\u0020next\u0020item.", + "url": "classes/OCC-Basics-Interfaces-IteratorTrait.html#method_next" + }, { + "fqsen": "\\OCC\\Basics\\Interfaces\\IteratorTrait\u003A\u003Aprev\u0028\u0029", + "name": "prev", + "summary": "Move\u0020back\u0020to\u0020previous\u0020item.", + "url": "classes/OCC-Basics-Interfaces-IteratorTrait.html#method_prev" + }, { + "fqsen": "\\OCC\\Basics\\Interfaces\\IteratorTrait\u003A\u003Arewind\u0028\u0029", + "name": "rewind", + "summary": "Rewind\u0020the\u0020iterator\u0020to\u0020the\u0020first\u0020item.", + "url": "classes/OCC-Basics-Interfaces-IteratorTrait.html#method_rewind" + }, { + "fqsen": "\\OCC\\Basics\\Interfaces\\IteratorTrait\u003A\u003Avalid\u0028\u0029", + "name": "valid", + "summary": "Check\u0020if\u0020current\u0020position\u0020is\u0020valid.", + "url": "classes/OCC-Basics-Interfaces-IteratorTrait.html#method_valid" + }, { + "fqsen": "\\OCC\\Basics\\Traits\\Getter", + "name": "Getter", + "summary": "Reads\u0020data\u0020from\u0020inaccessible\u0020properties\u0020by\u0020using\u0020magic\u0020methods.", + "url": "classes/OCC-Basics-Traits-Getter.html" + }, { + "fqsen": "\\OCC\\Basics\\Traits\\Getter\u003A\u003A__get\u0028\u0029", + "name": "__get", + "summary": "Read\u0020data\u0020from\u0020an\u0020inaccessible\u0020property.", + "url": "classes/OCC-Basics-Traits-Getter.html#method___get" + }, { + "fqsen": "\\OCC\\Basics\\Traits\\Getter\u003A\u003A__isset\u0028\u0029", + "name": "__isset", + "summary": "Check\u0020if\u0020an\u0020inaccessible\u0020property\u0020is\u0020set\u0020and\u0020not\u0020empty.", + "url": "classes/OCC-Basics-Traits-Getter.html#method___isset" + }, { + "fqsen": "\\OCC\\Basics\\Traits\\OverloadingGetter", + "name": "OverloadingGetter", + "summary": "Overloads\u0020a\u0020class\u0020with\u0020readable\u0020magic\u0020properties.", + "url": "classes/OCC-Basics-Traits-OverloadingGetter.html" + }, { + "fqsen": "\\OCC\\Basics\\Traits\\OverloadingGetter\u003A\u003A__get\u0028\u0029", + "name": "__get", + "summary": "Read\u0020data\u0020from\u0020an\u0020overloaded\u0020property.", + "url": "classes/OCC-Basics-Traits-OverloadingGetter.html#method___get" + }, { + "fqsen": "\\OCC\\Basics\\Traits\\OverloadingGetter\u003A\u003A__isset\u0028\u0029", + "name": "__isset", + "summary": "Check\u0020if\u0020an\u0020overloaded\u0020property\u0020is\u0020set\u0020and\u0020not\u0020empty.", + "url": "classes/OCC-Basics-Traits-OverloadingGetter.html#method___isset" + }, { + "fqsen": "\\OCC\\Basics\\Traits\\OverloadingSetter", + "name": "OverloadingSetter", + "summary": "Overloads\u0020a\u0020class\u0020with\u0020writable\u0020magic\u0020properties.", + "url": "classes/OCC-Basics-Traits-OverloadingSetter.html" + }, { + "fqsen": "\\OCC\\Basics\\Traits\\OverloadingSetter\u003A\u003A__set\u0028\u0029", + "name": "__set", + "summary": "Write\u0020data\u0020to\u0020an\u0020overloaded\u0020property.", + "url": "classes/OCC-Basics-Traits-OverloadingSetter.html#method___set" + }, { + "fqsen": "\\OCC\\Basics\\Traits\\OverloadingSetter\u003A\u003A__unset\u0028\u0029", + "name": "__unset", + "summary": "Unset\u0020an\u0020overloaded\u0020property.", + "url": "classes/OCC-Basics-Traits-OverloadingSetter.html#method___unset" + }, { + "fqsen": "\\OCC\\Basics\\Traits\\Setter", + "name": "Setter", + "summary": "Writes\u0020data\u0020to\u0020inaccessible\u0020properties\u0020by\u0020using\u0020magic\u0020methods.", + "url": "classes/OCC-Basics-Traits-Setter.html" + }, { + "fqsen": "\\OCC\\Basics\\Traits\\Setter\u003A\u003A__set\u0028\u0029", + "name": "__set", + "summary": "Write\u0020data\u0020to\u0020an\u0020inaccessible\u0020property.", + "url": "classes/OCC-Basics-Traits-Setter.html#method___set" + }, { + "fqsen": "\\OCC\\Basics\\Traits\\Setter\u003A\u003A__unset\u0028\u0029", + "name": "__unset", + "summary": "Unset\u0020an\u0020inaccessible\u0020property.", + "url": "classes/OCC-Basics-Traits-Setter.html#method___unset" + }, { + "fqsen": "\\OCC\\Basics\\Traits\\Singleton", + "name": "Singleton", + "summary": "Allows\u0020just\u0020a\u0020single\u0020instance\u0020of\u0020the\u0020class\u0020using\u0020this\u0020trait.", + "url": "classes/OCC-Basics-Traits-Singleton.html" + }, { + "fqsen": "\\OCC\\Basics\\Traits\\Singleton\u003A\u003AgetInstance\u0028\u0029", + "name": "getInstance", + "summary": "Get\u0020a\u0020singleton\u0020instance\u0020of\u0020this\u0020class.", + "url": "classes/OCC-Basics-Traits-Singleton.html#method_getInstance" + }, { + "fqsen": "\\OCC\\Basics\\Traits\\Singleton\u003A\u003A__construct\u0028\u0029", + "name": "__construct", + "summary": "This\u0020is\u0020a\u0020singleton\u0020class,\u0020thus\u0020the\u0020constructor\u0020is\u0020private.", + "url": "classes/OCC-Basics-Traits-Singleton.html#method___construct" + }, { + "fqsen": "\\OCC\\Basics\\Traits\\Singleton\u003A\u003A__clone\u0028\u0029", + "name": "__clone", + "summary": "This\u0020is\u0020a\u0020singleton\u0020class,\u0020thus\u0020cloning\u0020is\u0020prohibited.", + "url": "classes/OCC-Basics-Traits-Singleton.html#method___clone" + }, { + "fqsen": "\\", + "name": "\\", + "summary": "", + "url": "namespaces/default.html" + }, { + "fqsen": "\\OCC\\Basics\\DataStructures", + "name": "DataStructures", + "summary": "", + "url": "namespaces/occ-basics-datastructures.html" + }, { + "fqsen": "\\OCC\\Basics", + "name": "Basics", + "summary": "", + "url": "namespaces/occ-basics.html" + }, { + "fqsen": "\\OCC", + "name": "OCC", + "summary": "", + "url": "namespaces/occ.html" + }, { + "fqsen": "\\OCC\\Basics\\ErrorHandlers", + "name": "ErrorHandlers", + "summary": "", + "url": "namespaces/occ-basics-errorhandlers.html" + }, { + "fqsen": "\\OCC\\Basics\\Interfaces", + "name": "Interfaces", + "summary": "", + "url": "namespaces/occ-basics-interfaces.html" + }, { + "fqsen": "\\OCC\\Basics\\Traits", + "name": "Traits", + "summary": "", + "url": "namespaces/occ-basics-traits.html" + } ] +); diff --git a/doc/js/template.js b/doc/js/template.js new file mode 100644 index 0000000..4938329 --- /dev/null +++ b/doc/js/template.js @@ -0,0 +1,17 @@ +(function(){ + window.addEventListener('load', () => { + const el = document.querySelector('.phpdocumentor-on-this-page__content') + if (!el) { + return; + } + + const observer = new IntersectionObserver( + ([e]) => { + e.target.classList.toggle("-stuck", e.intersectionRatio < 1); + }, + {threshold: [1]} + ); + + observer.observe(el); + }) +})(); diff --git a/doc/namespaces/default.html b/doc/namespaces/default.html new file mode 100644 index 0000000..311ac48 --- /dev/null +++ b/doc/namespaces/default.html @@ -0,0 +1,316 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                                +

                                                                                                PHP Basics

                                                                                                + + + + + + +
                                                                                                + +
                                                                                                +
                                                                                                + + + + +
                                                                                                +
                                                                                                +
                                                                                                  +
                                                                                                + +
                                                                                                +

                                                                                                API Documentation

                                                                                                + + +

                                                                                                + Table of Contents + + +

                                                                                                + + +

                                                                                                + Namespaces + + +

                                                                                                +
                                                                                                +
                                                                                                OCC
                                                                                                +
                                                                                                + + + + + + + + + + + + + +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                
                                                                                                +        
                                                                                                + +
                                                                                                +
                                                                                                + + + +
                                                                                                +
                                                                                                +
                                                                                                + +
                                                                                                + On this page + +
                                                                                                  +
                                                                                                • Table Of Contents
                                                                                                • +
                                                                                                • +
                                                                                                    +
                                                                                                  +
                                                                                                • + + +
                                                                                                +
                                                                                                + +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +

                                                                                                Search results

                                                                                                + +
                                                                                                +
                                                                                                +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  + + +
                                                                                                  + + + + + + + + diff --git a/doc/namespaces/occ-basics-datastructures.html b/doc/namespaces/occ-basics-datastructures.html new file mode 100644 index 0000000..78124b5 --- /dev/null +++ b/doc/namespaces/occ-basics-datastructures.html @@ -0,0 +1,318 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                                  +

                                                                                                  PHP Basics

                                                                                                  + + + + + + +
                                                                                                  + +
                                                                                                  +
                                                                                                  + + + + +
                                                                                                  +
                                                                                                  + + +
                                                                                                  +

                                                                                                  DataStructures

                                                                                                  + + +

                                                                                                  + Table of Contents + + +

                                                                                                  + + + + +

                                                                                                  + Classes + + +

                                                                                                  +
                                                                                                  +
                                                                                                  StrictCollection
                                                                                                  A type-sensitive, unsorted collection.
                                                                                                  StrictList
                                                                                                  A type-sensitive, taversable list.
                                                                                                  StrictQueue
                                                                                                  A type-sensitive, taversable queue (FIFO).
                                                                                                  StrictStack
                                                                                                  A type-sensitive, taversable stack (LIFO).
                                                                                                  + + + + + + + + + + + +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  
                                                                                                  +        
                                                                                                  + +
                                                                                                  +
                                                                                                  + + + +
                                                                                                  +
                                                                                                  +
                                                                                                  + +
                                                                                                  + On this page + +
                                                                                                    +
                                                                                                  • Table Of Contents
                                                                                                  • +
                                                                                                  • + +
                                                                                                  • + + +
                                                                                                  +
                                                                                                  + +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  +

                                                                                                  Search results

                                                                                                  + +
                                                                                                  +
                                                                                                  +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    + + +
                                                                                                    + + + + + + + + diff --git a/doc/namespaces/occ-basics-errorhandlers.html b/doc/namespaces/occ-basics-errorhandlers.html new file mode 100644 index 0000000..6f71373 --- /dev/null +++ b/doc/namespaces/occ-basics-errorhandlers.html @@ -0,0 +1,318 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                                    +

                                                                                                    PHP Basics

                                                                                                    + + + + + + +
                                                                                                    + +
                                                                                                    +
                                                                                                    + + + + +
                                                                                                    +
                                                                                                    + + +
                                                                                                    +

                                                                                                    ErrorHandlers

                                                                                                    + + +

                                                                                                    + Table of Contents + + +

                                                                                                    + + + + +

                                                                                                    + Classes + + +

                                                                                                    +
                                                                                                    +
                                                                                                    ThrowErrorException
                                                                                                    Throws internal errors as exceptions.
                                                                                                    TriggerExceptionError
                                                                                                    Triggers errors for uncaught exceptions.
                                                                                                    + + + + + + + + + + + +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    
                                                                                                    +        
                                                                                                    + +
                                                                                                    +
                                                                                                    + + + +
                                                                                                    +
                                                                                                    +
                                                                                                    + +
                                                                                                    + On this page + +
                                                                                                      +
                                                                                                    • Table Of Contents
                                                                                                    • +
                                                                                                    • + +
                                                                                                    • + + +
                                                                                                    +
                                                                                                    + +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    +

                                                                                                    Search results

                                                                                                    + +
                                                                                                    +
                                                                                                    +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      + + +
                                                                                                      + + + + + + + + diff --git a/doc/namespaces/occ-basics-interfaces.html b/doc/namespaces/occ-basics-interfaces.html new file mode 100644 index 0000000..e0dcbbd --- /dev/null +++ b/doc/namespaces/occ-basics-interfaces.html @@ -0,0 +1,318 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                                      +

                                                                                                      PHP Basics

                                                                                                      + + + + + + +
                                                                                                      + +
                                                                                                      +
                                                                                                      + + + + +
                                                                                                      +
                                                                                                      + + +
                                                                                                      +

                                                                                                      Interfaces

                                                                                                      + + +

                                                                                                      + Table of Contents + + +

                                                                                                      + + + + + +

                                                                                                      + Traits + + +

                                                                                                      +
                                                                                                      +
                                                                                                      ArrayAccessTrait
                                                                                                      A generic implementation of the ArrayAccess interface.
                                                                                                      CountableTrait
                                                                                                      A generic implementation of the Countable interface.
                                                                                                      IteratorAggregateTrait
                                                                                                      A generic implementation of the IteratorAggregate interface.
                                                                                                      IteratorTrait
                                                                                                      A generic implementation of the Iterator interface.
                                                                                                      + + + + + + + + + + +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      
                                                                                                      +        
                                                                                                      + +
                                                                                                      +
                                                                                                      + + + +
                                                                                                      +
                                                                                                      +
                                                                                                      + +
                                                                                                      + On this page + +
                                                                                                        +
                                                                                                      • Table Of Contents
                                                                                                      • +
                                                                                                      • + +
                                                                                                      • + + +
                                                                                                      +
                                                                                                      + +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      +

                                                                                                      Search results

                                                                                                      + +
                                                                                                      +
                                                                                                      +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        + + +
                                                                                                        + + + + + + + + diff --git a/doc/namespaces/occ-basics-interfacetraits.html b/doc/namespaces/occ-basics-interfacetraits.html new file mode 100644 index 0000000..cb03e7a --- /dev/null +++ b/doc/namespaces/occ-basics-interfacetraits.html @@ -0,0 +1,318 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                                        +

                                                                                                        PHP Basics

                                                                                                        + + + + + + +
                                                                                                        + +
                                                                                                        +
                                                                                                        + + + + +
                                                                                                        +
                                                                                                        + + +
                                                                                                        +

                                                                                                        InterfaceTraits

                                                                                                        + + +

                                                                                                        + Table of Contents + + +

                                                                                                        + + + + + +

                                                                                                        + Traits + + +

                                                                                                        +
                                                                                                        +
                                                                                                        ArrayAccessTrait
                                                                                                        A generic implementation of the ArrayAccess interface.
                                                                                                        CountableTrait
                                                                                                        A generic implementation of the Countable interface.
                                                                                                        IteratorAggregateTrait
                                                                                                        A generic implementation of the IteratorAggregate interface.
                                                                                                        IteratorTrait
                                                                                                        A generic implementation of the Iterator interface.
                                                                                                        + + + + + + + + + + +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        
                                                                                                        +        
                                                                                                        + +
                                                                                                        +
                                                                                                        + + + +
                                                                                                        +
                                                                                                        +
                                                                                                        + +
                                                                                                        + On this page + +
                                                                                                          +
                                                                                                        • Table Of Contents
                                                                                                        • +
                                                                                                        • + +
                                                                                                        • + + +
                                                                                                        +
                                                                                                        + +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        +

                                                                                                        Search results

                                                                                                        + +
                                                                                                        +
                                                                                                        +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          + + +
                                                                                                          + + + + + + + + diff --git a/doc/namespaces/occ-basics-traits.html b/doc/namespaces/occ-basics-traits.html new file mode 100644 index 0000000..18cacc5 --- /dev/null +++ b/doc/namespaces/occ-basics-traits.html @@ -0,0 +1,318 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                                          +

                                                                                                          PHP Basics

                                                                                                          + + + + + + +
                                                                                                          + +
                                                                                                          +
                                                                                                          + + + + +
                                                                                                          +
                                                                                                          + + +
                                                                                                          +

                                                                                                          Traits

                                                                                                          + + +

                                                                                                          + Table of Contents + + +

                                                                                                          + + + + + +

                                                                                                          + Traits + + +

                                                                                                          +
                                                                                                          +
                                                                                                          Getter
                                                                                                          Reads data from inaccessible properties by using magic methods.
                                                                                                          OverloadingGetter
                                                                                                          Overloads a class with readable magic properties.
                                                                                                          OverloadingSetter
                                                                                                          Overloads a class with writable magic properties.
                                                                                                          Setter
                                                                                                          Writes data to inaccessible properties by using magic methods.
                                                                                                          Singleton
                                                                                                          Allows just a single instance of the class using this trait.
                                                                                                          + + + + + + + + + + +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          
                                                                                                          +        
                                                                                                          + +
                                                                                                          +
                                                                                                          + + + +
                                                                                                          +
                                                                                                          +
                                                                                                          + +
                                                                                                          + On this page + +
                                                                                                            +
                                                                                                          • Table Of Contents
                                                                                                          • +
                                                                                                          • + +
                                                                                                          • + + +
                                                                                                          +
                                                                                                          + +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          +

                                                                                                          Search results

                                                                                                          + +
                                                                                                          +
                                                                                                          +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            + + +
                                                                                                            + + + + + + + + diff --git a/doc/namespaces/occ-basics.html b/doc/namespaces/occ-basics.html new file mode 100644 index 0000000..566bce9 --- /dev/null +++ b/doc/namespaces/occ-basics.html @@ -0,0 +1,320 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                                            +

                                                                                                            PHP Basics

                                                                                                            + + + + + + +
                                                                                                            + +
                                                                                                            +
                                                                                                            + + + + +
                                                                                                            +
                                                                                                            + + +
                                                                                                            +

                                                                                                            Basics

                                                                                                            + + +

                                                                                                            + Table of Contents + + +

                                                                                                            + + +

                                                                                                            + Namespaces + + +

                                                                                                            +
                                                                                                            +
                                                                                                            DataStructures
                                                                                                            +
                                                                                                            ErrorHandlers
                                                                                                            +
                                                                                                            Interfaces
                                                                                                            +
                                                                                                            Traits
                                                                                                            +
                                                                                                            + + + + + + + + + + + + + +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            
                                                                                                            +        
                                                                                                            + +
                                                                                                            +
                                                                                                            + + + +
                                                                                                            +
                                                                                                            +
                                                                                                            + +
                                                                                                            + On this page + +
                                                                                                              +
                                                                                                            • Table Of Contents
                                                                                                            • +
                                                                                                            • +
                                                                                                                +
                                                                                                              +
                                                                                                            • + + +
                                                                                                            +
                                                                                                            + +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            +

                                                                                                            Search results

                                                                                                            + +
                                                                                                            +
                                                                                                            +
                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              + + +
                                                                                                              + + + + + + + + diff --git a/doc/namespaces/occ.html b/doc/namespaces/occ.html new file mode 100644 index 0000000..eb09f3a --- /dev/null +++ b/doc/namespaces/occ.html @@ -0,0 +1,316 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                                              +

                                                                                                              PHP Basics

                                                                                                              + + + + + + +
                                                                                                              + +
                                                                                                              +
                                                                                                              + + + + +
                                                                                                              +
                                                                                                              +
                                                                                                                +
                                                                                                              + +
                                                                                                              +

                                                                                                              OCC

                                                                                                              + + +

                                                                                                              + Table of Contents + + +

                                                                                                              + + +

                                                                                                              + Namespaces + + +

                                                                                                              +
                                                                                                              +
                                                                                                              Basics
                                                                                                              +
                                                                                                              + + + + + + + + + + + + + +
                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              
                                                                                                              +        
                                                                                                              + +
                                                                                                              +
                                                                                                              + + + +
                                                                                                              +
                                                                                                              +
                                                                                                              + +
                                                                                                              + On this page + +
                                                                                                                +
                                                                                                              • Table Of Contents
                                                                                                              • +
                                                                                                              • +
                                                                                                                  +
                                                                                                                +
                                                                                                              • + + +
                                                                                                              +
                                                                                                              + +
                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              +

                                                                                                              Search results

                                                                                                              + +
                                                                                                              +
                                                                                                              +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                + + +
                                                                                                                + + + + + + + + diff --git a/doc/packages/Basics-DataStructures.html b/doc/packages/Basics-DataStructures.html new file mode 100644 index 0000000..367e4e8 --- /dev/null +++ b/doc/packages/Basics-DataStructures.html @@ -0,0 +1,317 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                +

                                                                                                                PHP Basics

                                                                                                                + + + + + + +
                                                                                                                + +
                                                                                                                +
                                                                                                                + + + + +
                                                                                                                +
                                                                                                                + + +
                                                                                                                +

                                                                                                                DataStructures

                                                                                                                + + +

                                                                                                                + Table of Contents + + +

                                                                                                                + + + + +

                                                                                                                + Classes + + +

                                                                                                                +
                                                                                                                +
                                                                                                                StrictCollection
                                                                                                                A type-sensitive, unsorted collection.
                                                                                                                StrictList
                                                                                                                A type-sensitive, taversable list.
                                                                                                                StrictQueue
                                                                                                                A type-sensitive, taversable queue (FIFO).
                                                                                                                StrictStack
                                                                                                                A type-sensitive, taversable stack (LIFO).
                                                                                                                + + + + + + + + + + + +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                
                                                                                                                +        
                                                                                                                + +
                                                                                                                +
                                                                                                                + + + +
                                                                                                                +
                                                                                                                +
                                                                                                                + +
                                                                                                                + On this page + +
                                                                                                                  +
                                                                                                                • Table Of Contents
                                                                                                                • +
                                                                                                                • + +
                                                                                                                • + + +
                                                                                                                +
                                                                                                                + +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +

                                                                                                                Search results

                                                                                                                + +
                                                                                                                +
                                                                                                                +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  + + +
                                                                                                                  + + + + + + + + diff --git a/doc/packages/Basics-ErrorHandlers.html b/doc/packages/Basics-ErrorHandlers.html new file mode 100644 index 0000000..0050179 --- /dev/null +++ b/doc/packages/Basics-ErrorHandlers.html @@ -0,0 +1,317 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                  +

                                                                                                                  PHP Basics

                                                                                                                  + + + + + + +
                                                                                                                  + +
                                                                                                                  +
                                                                                                                  + + + + +
                                                                                                                  +
                                                                                                                  + + +
                                                                                                                  +

                                                                                                                  ErrorHandlers

                                                                                                                  + + +

                                                                                                                  + Table of Contents + + +

                                                                                                                  + + + + +

                                                                                                                  + Classes + + +

                                                                                                                  +
                                                                                                                  +
                                                                                                                  ThrowErrorException
                                                                                                                  Throws internal errors as exceptions.
                                                                                                                  TriggerExceptionError
                                                                                                                  Triggers errors for uncaught exceptions.
                                                                                                                  + + + + + + + + + + + +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  
                                                                                                                  +        
                                                                                                                  + +
                                                                                                                  +
                                                                                                                  + + + +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  + +
                                                                                                                  + On this page + +
                                                                                                                    +
                                                                                                                  • Table Of Contents
                                                                                                                  • +
                                                                                                                  • + +
                                                                                                                  • + + +
                                                                                                                  +
                                                                                                                  + +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +

                                                                                                                  Search results

                                                                                                                  + +
                                                                                                                  +
                                                                                                                  +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    + + +
                                                                                                                    + + + + + + + + diff --git a/doc/packages/Basics-InterfaceTraits.html b/doc/packages/Basics-InterfaceTraits.html new file mode 100644 index 0000000..4d728d3 --- /dev/null +++ b/doc/packages/Basics-InterfaceTraits.html @@ -0,0 +1,317 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                    +

                                                                                                                    PHP Basics

                                                                                                                    + + + + + + +
                                                                                                                    + +
                                                                                                                    +
                                                                                                                    + + + + +
                                                                                                                    +
                                                                                                                    + + +
                                                                                                                    +

                                                                                                                    InterfaceTraits

                                                                                                                    + + +

                                                                                                                    + Table of Contents + + +

                                                                                                                    + + + + + +

                                                                                                                    + Traits + + +

                                                                                                                    +
                                                                                                                    +
                                                                                                                    ArrayAccessTrait
                                                                                                                    A generic implementation of the ArrayAccess interface.
                                                                                                                    CountableTrait
                                                                                                                    A generic implementation of the Countable interface.
                                                                                                                    IteratorAggregateTrait
                                                                                                                    A generic implementation of the IteratorAggregate interface.
                                                                                                                    IteratorTrait
                                                                                                                    A generic implementation of the Iterator interface.
                                                                                                                    + + + + + + + + + + +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    
                                                                                                                    +        
                                                                                                                    + +
                                                                                                                    +
                                                                                                                    + + + +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    + +
                                                                                                                    + On this page + +
                                                                                                                      +
                                                                                                                    • Table Of Contents
                                                                                                                    • +
                                                                                                                    • + +
                                                                                                                    • + + +
                                                                                                                    +
                                                                                                                    + +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +

                                                                                                                    Search results

                                                                                                                    + +
                                                                                                                    +
                                                                                                                    +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      + + + + + + + + diff --git a/doc/packages/Basics-Interfaces.html b/doc/packages/Basics-Interfaces.html new file mode 100644 index 0000000..a9f0d5b --- /dev/null +++ b/doc/packages/Basics-Interfaces.html @@ -0,0 +1,317 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                      +

                                                                                                                      PHP Basics

                                                                                                                      + + + + + + +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + + +
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      +

                                                                                                                      Interfaces

                                                                                                                      + + +

                                                                                                                      + Table of Contents + + +

                                                                                                                      + + + + + +

                                                                                                                      + Traits + + +

                                                                                                                      +
                                                                                                                      +
                                                                                                                      ArrayAccessTrait
                                                                                                                      A generic implementation of the ArrayAccess interface.
                                                                                                                      CountableTrait
                                                                                                                      A generic implementation of the Countable interface.
                                                                                                                      IteratorAggregateTrait
                                                                                                                      A generic implementation of the IteratorAggregate interface.
                                                                                                                      IteratorTrait
                                                                                                                      A generic implementation of the Iterator interface.
                                                                                                                      + + + + + + + + + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      
                                                                                                                      +        
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + On this page + +
                                                                                                                        +
                                                                                                                      • Table Of Contents
                                                                                                                      • +
                                                                                                                      • + +
                                                                                                                      • + + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      Search results

                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        + + +
                                                                                                                        + + + + + + + + diff --git a/doc/packages/Basics-Traits.html b/doc/packages/Basics-Traits.html new file mode 100644 index 0000000..8afa075 --- /dev/null +++ b/doc/packages/Basics-Traits.html @@ -0,0 +1,317 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                        +

                                                                                                                        PHP Basics

                                                                                                                        + + + + + + +
                                                                                                                        + +
                                                                                                                        +
                                                                                                                        + + + + +
                                                                                                                        +
                                                                                                                        + + +
                                                                                                                        +

                                                                                                                        Traits

                                                                                                                        + + +

                                                                                                                        + Table of Contents + + +

                                                                                                                        + + + + + +

                                                                                                                        + Traits + + +

                                                                                                                        +
                                                                                                                        +
                                                                                                                        Getter
                                                                                                                        Reads data from inaccessible properties by using magic methods.
                                                                                                                        OverloadingGetter
                                                                                                                        Overloads a class with readable magic properties.
                                                                                                                        OverloadingSetter
                                                                                                                        Overloads a class with writable magic properties.
                                                                                                                        Setter
                                                                                                                        Writes data to inaccessible properties by using magic methods.
                                                                                                                        Singleton
                                                                                                                        Allows just a single instance of the class using this trait.
                                                                                                                        + + + + + + + + + + +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        
                                                                                                                        +        
                                                                                                                        + +
                                                                                                                        +
                                                                                                                        + + + +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        + +
                                                                                                                        + On this page + +
                                                                                                                          +
                                                                                                                        • Table Of Contents
                                                                                                                        • +
                                                                                                                        • + +
                                                                                                                        • + + +
                                                                                                                        +
                                                                                                                        + +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        +

                                                                                                                        Search results

                                                                                                                        + +
                                                                                                                        +
                                                                                                                        +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          + + +
                                                                                                                          + + + + + + + + diff --git a/doc/packages/Basics.html b/doc/packages/Basics.html new file mode 100644 index 0000000..7e2bf64 --- /dev/null +++ b/doc/packages/Basics.html @@ -0,0 +1,319 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                          +

                                                                                                                          PHP Basics

                                                                                                                          + + + + + + +
                                                                                                                          + +
                                                                                                                          +
                                                                                                                          + + + + +
                                                                                                                          +
                                                                                                                          +
                                                                                                                            +
                                                                                                                          + +
                                                                                                                          +

                                                                                                                          Basics

                                                                                                                          + + +

                                                                                                                          + Table of Contents + + +

                                                                                                                          + +

                                                                                                                          + Packages + + +

                                                                                                                          +
                                                                                                                          +
                                                                                                                          DataStructures
                                                                                                                          +
                                                                                                                          ErrorHandlers
                                                                                                                          +
                                                                                                                          Interfaces
                                                                                                                          +
                                                                                                                          Traits
                                                                                                                          +
                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          
                                                                                                                          +        
                                                                                                                          + +
                                                                                                                          +
                                                                                                                          + + + +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          + +
                                                                                                                          + On this page + +
                                                                                                                            +
                                                                                                                          • Table Of Contents
                                                                                                                          • +
                                                                                                                          • +
                                                                                                                              +
                                                                                                                            +
                                                                                                                          • + + +
                                                                                                                          +
                                                                                                                          + +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          +

                                                                                                                          Search results

                                                                                                                          + +
                                                                                                                          +
                                                                                                                          +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            + + +
                                                                                                                            + + + + + + + + diff --git a/doc/packages/default.html b/doc/packages/default.html new file mode 100644 index 0000000..efa591c --- /dev/null +++ b/doc/packages/default.html @@ -0,0 +1,316 @@ + + + + + PHP Basics + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                            +

                                                                                                                            PHP Basics

                                                                                                                            + + + + + + +
                                                                                                                            + +
                                                                                                                            +
                                                                                                                            + + + + +
                                                                                                                            +
                                                                                                                            +
                                                                                                                              +
                                                                                                                            + +
                                                                                                                            +

                                                                                                                            API Documentation

                                                                                                                            + + +

                                                                                                                            + Table of Contents + + +

                                                                                                                            + +

                                                                                                                            + Packages + + +

                                                                                                                            +
                                                                                                                            +
                                                                                                                            Basics
                                                                                                                            +
                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            
                                                                                                                            +        
                                                                                                                            + +
                                                                                                                            +
                                                                                                                            + + + +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            + +
                                                                                                                            + On this page + +
                                                                                                                              +
                                                                                                                            • Table Of Contents
                                                                                                                            • +
                                                                                                                            • +
                                                                                                                                +
                                                                                                                              +
                                                                                                                            • + + +
                                                                                                                            +
                                                                                                                            + +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            +

                                                                                                                            Search results

                                                                                                                            + +
                                                                                                                            +
                                                                                                                            +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + +
                                                                                                                              + + + + + + + + diff --git a/doc/reports/deprecated.html b/doc/reports/deprecated.html new file mode 100644 index 0000000..34739e1 --- /dev/null +++ b/doc/reports/deprecated.html @@ -0,0 +1,184 @@ + + + + + PHP Basics » Deprecated elements + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +

                                                                                                                              PHP Basics

                                                                                                                              + + + + + + +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + + + + +
                                                                                                                              +
                                                                                                                              + + +
                                                                                                                              +

                                                                                                                              Deprecated

                                                                                                                              + + +
                                                                                                                              + No deprecated elements have been found in this project. +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Search results

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + + +
                                                                                                                                + + + + + + + + diff --git a/doc/reports/errors.html b/doc/reports/errors.html new file mode 100644 index 0000000..eee2497 --- /dev/null +++ b/doc/reports/errors.html @@ -0,0 +1,183 @@ + + + + + PHP Basics » Compilation errors + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                +

                                                                                                                                PHP Basics

                                                                                                                                + + + + + + +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                + + + + +
                                                                                                                                +
                                                                                                                                + + +
                                                                                                                                +

                                                                                                                                Errors

                                                                                                                                + + +
                                                                                                                                No errors have been found in this project.
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                Search results

                                                                                                                                + +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  + + +
                                                                                                                                  + + + + + + + + diff --git a/doc/reports/markers.html b/doc/reports/markers.html new file mode 100644 index 0000000..592d82f --- /dev/null +++ b/doc/reports/markers.html @@ -0,0 +1,184 @@ + + + + + PHP Basics » Markers + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                  +

                                                                                                                                  PHP Basics

                                                                                                                                  + + + + + + +
                                                                                                                                  + +
                                                                                                                                  +
                                                                                                                                  + + + + +
                                                                                                                                  +
                                                                                                                                  + + +
                                                                                                                                  +

                                                                                                                                  Markers

                                                                                                                                  + +
                                                                                                                                  + No markers have been found in this project. +
                                                                                                                                  + +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +

                                                                                                                                  Search results

                                                                                                                                  + +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                    + + +
                                                                                                                                    + + + + + + + +