Download the PHP package phrity/o without Composer
On this page you can find all versions of the php package phrity/o. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package o
Short Description Consistent object representation of data types. Inheritance friendly implementation. Provides wrapper classes for array, object, string, float, int and bool, plus Queue and Stack collections.
License MIT
Homepage https://phrity.sirn.se/o
Informations about the package o
O
Consistent object representation of data types.
Contains a number of traits that provide interface implementation and other functionality. These traits can be included in any class that require supported functionality.
Also provides ready-made wrapper classes for array, object, string, float, int and bool, plus Queue and Stack collections. Inheritance friendly implementation.
Installation
Install with Composer;
Content by source type
- Array classes and traits
- Boolean class and traits
- Integer class and traits
- Number class and traits
- Object class and traits
- String class and traits
Factory
The factory class converts scalars, arrays and objects into corresponding "O" instance.
Classes
The following ready-made classes are available.
Class | Source | Implements |
---|---|---|
Arr | array |
ArrayAccess Comparable Countable Equalable Iterator Traversable |
Boolean | bool |
Comparable Equalable Stringable |
Integer | int |
Comparable Equalable Stringable |
Number | float |
Comparable Equalable Stringable |
Obj | object |
Comparable Equalable IteratorAggregate Traversable |
Stack | array |
Comparable Countable Equalable IteratorAggregate Stringable Traversable |
Str | string |
Comparable Equalable Stringable |
Queue | array |
Comparable Countable Equalable IteratorAggregate Stringable Traversable |
Traits
Traits are defined by source type. The following traits are available.
Trait | Provides | By source type |
---|---|---|
ArrayAccessTrait | ArrayAccess | Array |
CoercionTrait | String | |
ComparableTrait | Comparable Equalable | String |
CountableTrait | Countable | Array |
InvokableTrait | String | |
IteratorAggregateTrait | IteratorAggregate Traversable | Object |
IteratorTrait | Iterator Traversable | Array |
JsonSerializableTrait | JsonSerializable | Object |
PropertyAccessTrait | Object | |
QueueIteratorTrait | IteratorAggregate Traversable | Array |
QueueTrait | Array | |
StackIteratorTrait | IteratorAggregate Traversable | Array |
StackTrait | Array | |
StringableTrait | Stringable | String |
TypeTrait | String |
Examples
Brief examples of classes below.
Scalar types
Complex types
Collection types
Versions
Version | PHP | |
---|---|---|
2.1 |
^8.0 |
JsonSerializable, improved ArrayAccess and PropertyAccess |
2.0 |
^8.0 |
Implementation as Traits |
1.5 |
^8.0 |
Fix for PHP 8.x versions |
1.4 |
^7.1\|^8.0 |
|
1.3 |
^7.1 |
Queue and Stack collection classes |
1.2 |
^7.1 |
Str (string), Number (float), Integer (int) and Boolean (bool) classes |
1.1 |
>=5.6 |
Comparison support |
1.0 |
>=5.6 |
Arr (array) and Obj (object) classes |