icanboogie/common

Common helpers and classes for ICanBoogie

v2.1.0 2024-11-15 23:33 UTC

README

Release Code Coverage Packagist

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.

Installation

composer require icanboogie/common

Exceptions

Offset exceptions

The package defines the following exceptions related to array offset:

Property exceptions

The following exceptions related to object properties defined by the package:

<?php

use ICanBoogie\PropertyNotDefined;

class A
{
	private $id;

	public function __get(string $property)
	{
		if ($property === 'id') {
			return $this->id;
		}

		throw new PropertyNotDefined([ $property, $this ]);
	}
}

Interfaces

The package defines the following interfaces:

  • 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;
	}
}

Continuous Integration

The project is continuously tested by GitHub actions.

Tests Static Analysis Code Style

Code of Conduct

This project adheres to a Contributor Code of Conduct. By participating in this project and its community, you're expected to uphold this code.

Contributing

See CONTRIBUTING for details.