Кучад доработок, главным образом вокруг Item

- `Item` почти готов и весь покрыт тестами. Пока остались нереализованными `nomenclature_code` и `excise`
- `Client::setPhone()` теперь выбрасывает InvalidPhoneException
- доработка и создание новых исключений (не буду все перечислять, смотри диффы)
- мелочи по phpdoc и всяким текстовкам
This commit is contained in:
2021-12-01 20:11:08 +08:00
parent bce21f9658
commit 5ccb0e9db4
22 changed files with 1232 additions and 360 deletions

View File

@@ -31,14 +31,13 @@ class TooManyException extends AtolException
*
* @param float $value
* @param string $message
* @param float $max
* @param float|null $max
*/
public function __construct(float $value, string $message = '', float $max = 0)
public function __construct(float $value, string $message = '', ?float $max = null)
{
$message = ($message ?: $this->message) . ': ' . $value;
if ($max > 0 || $this->max > 0) {
$message .= ' (макс. = ' . ($max ?? $this->max) . ', фактически = ' . $value . ')';
}
parent::__construct($message);
parent::__construct(
($message ?: $this->message) . (((float)$max > 0 || (float)$this->max > 0) ?
' (макс = ' . ($max ?? $this->max) . ', фактически = ' . $value . ')' : '')
);
}
}