1. Go to this page and download the library: Download benjaminmal/parity-checker library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
$errors = $parityChecker->checkParity([$object1, $object2]);
if (! $errors->hasErrors()) {
// You're all set !
}
$errors = $parityChecker->checkParity([$object1, $object2], [
// Do not perform check on these types
'ignore_types' => ['object', 'resource', \DateTimeInterface::class, '$objectProperty1'],
// Perform check only on these types
'only_types' => ['string', 'float'],
// Perform a loose check ('==' instead of '===') on theses types
'loose_types' => 'array',
// Set the recursion limit for objects
'deep_object_limit' => 0,
// Set DateTime format to check
'datetime_check_format' => false,
// Set DateInterval format to check
'date_interval_format' => '%R %Y %M %D %H %I %S %F',
// Set DateTime zone mapping to name
'datetime_zone' => true,
// Set a data mapper closure
'data_mapper' => [
'my-mapper' => new ParityCheckerCallback(
'array',
fn ($value, string $property, array $options): mixed => $value['something'],
),
],
// Custom checkers. You can set you own checker which replace other.
'custom_checkers' => [
'my-checker' => new ParityCheckerCallback(
['$property'],
fn ($value1, $value2, string $property, array $options): bool => true,
),
],
]);