trilations / equatable
A library for an equatable concept
2.0.0
2022-08-19 10:20 UTC
Requires
- php: ^7.4 || ^8.0
Requires (Dev)
- phpcompatibility/php-compatibility: ^9.3
- phpro/grumphp-shim: ^1.13
- phpunit/phpunit: ^9
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2025-03-19 16:47:18 UTC
README
A library (composer package) for managing the EquatableInterface and EquatableTrait.
Equatable can indicate whether the current object is equal to another object.
Installation
Add it to your composer.json
:
{
"repositories": [
{
"type": "vcs",
"url": "https://gitlab.com/trilations/equatable.git"
}
],
"require": {
"trilations/equatable": "^2.0"
}
}
And run composer update:
composer update
Usage
use Trilations\Equatable\Interfaces\EquatableInterface;
use Trilations\Equatable\Traits\EquatableTrait;
// Say, we have 2 objects ($a and $b) that we want to compare
// And $a implements EquatableInterface
if ($a instanceof EquatableInterface) {
$result = $a->equals($b);
return $result;
}
Contributing
Installation
# make sure you have php 7.4 or higher
php -v
# make sure you have composer installed
composer -v
# clone the repository
git clone git@gitlab.com:trilations/Equatable.git
# cd into the directory
cd Equatable
# install dependencies
composer install
Tests
# running all tests
./vendor/bin/phpunit
# checking the code coverage (requires Xdebug)
./vendor/bin/phpunit --coverage-text
./vendor/bin/phpunit --coverage-html coverage.html # generate html report
# you might need to prefix these commands with XDEBUG_MODE=coverage
XDEBUG_MODE=coverage ./vendor/bin/phpunit --coverage-text
Additionally, you should regularly check for any incompatibilies with our supported PHP versions:
# Runs the sniffer script as defined in composer.json
composer sniffer:php7.4
composer sniffer:php8.0
composer sniffer:php8.1