datingvip/common

Common helpers and classes for ICanBoogie

v6.0.0 2023-08-11 13:10 UTC

README

Release Code Quality 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 following exceptions related to array offset are defined by the package:

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

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 are expected to uphold this code.

Contributing

Please see CONTRIBUTING for details.

License

icanboogie/common is released under the BSD-3-Clause.