This repository has been archived on 2025-07-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
atol-online/src/Exceptions/InvalidEntityInCollectionException.php
AnthonyAxenov 4157ab68f5 Миграция на php8.1
* enum-ы теперь enum-ы, а не говно -- теперь всё переведено на них, где это было возможно
* некоторые свойства классов объявлены в конструкторе
* некоторые классы перемещены в корневой неймспейс
* исправлен код-стайл, вычищен некоторый мусор, выправлены тесты... работы над этим продолжаются
2022-12-15 00:19:55 +08:00

42 lines
1.2 KiB
PHP

<?php
/*
* Copyright (c) 2020-2021 Антон Аксенов (Anthony Axenov)
*
* This code is licensed under MIT.
* Этот код распространяется по лицензии MIT.
* https://github.com/anthonyaxenov/atol-online/blob/master/LICENSE
*/
declare(strict_types=1);
namespace AtolOnline\Exceptions;
use JetBrains\PhpStorm\Pure;
/**
* Исключение, возникающее при наличии некорректных объектов в коллекции
*/
class InvalidEntityInCollectionException extends AtolException
{
/**
* Конструктор
*
* @param string $collection_class
* @param string $expected_class
* @param mixed $actual
*/
#[Pure]
public function __construct(string $collection_class, string $expected_class, mixed $actual)
{
if (is_object($actual)) {
$actual = $actual::class;
} elseif (is_scalar($actual)) {
$actual = '(' . gettype($actual) . ')' . var_export($actual, true);
}
parent::__construct(
"Коллекция $collection_class должна содержать объекты $expected_class, найден $actual"
);
}
}