This package provides basic classes and helpers shared by many ICanBoogie packages. It provides offset exceptions, property exceptions, some interfaces, and helpers to transform strings and arrays.
composer require icanboogie/common
The following exceptions related to array offset are defined by the package:
- OffsetError: Interface for offset errors.
- OffsetNotDefined: Exception thrown when an array offset is not defined.
- OffsetNotReadable: Exception thrown when an array offset is not readable.
- OffsetNotWritable: Exception thrown when an array offset is not writable.
The following exceptions related to object properties defined by the package:
- PropertyError: Interface for property errors.
- PropertyNotDefined: Exception thrown when a property is not defined.
- PropertyNotReadable: Exception thrown when a property is not readable.
- PropertyNotWritable: Exception thrown when a property is not writable.
<?php
use ICanBoogie\PropertyNotDefined;
class A
{
private $id;
public function __get(string $property)
{
if ($property === 'id') {
return $this->id;
}
throw new PropertyNotDefined([ $property, $this ]);
}
}
The following interfaces are defined by the package:
- ToArray: Should be implemented by classes whose instances can be converted into arrays.
- ToArrayRecursive: Should be implemented by classes whose instances can be converted into arrays recursively.
<?php
use ICanBoogie\ToArray;
use ICanBoogie\ToArrayRecursive;
class A implements ToArrayRecursive
{
use ToArrayRecursiveTrait;
public function to_array(): array
{
return (array) $this;
}
}
The project is continuously tested by GitHub actions.
This project adheres to a Contributor Code of Conduct. By participating in this project and its community, you are expected to uphold this code.
Please see CONTRIBUTING for details.
icanboogie/common is released under the BSD-3-Clause.