Skip to content
forked from ICanBoogie/Common

Basic classes and helpers shared by some ICanBoogie packages

License

Notifications You must be signed in to change notification settings

DatingVIP/Common

 
 

Repository files navigation

Common

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.

About

Basic classes and helpers shared by some ICanBoogie packages

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 97.0%
  • Makefile 1.6%
  • Dockerfile 1.4%