svs13 / multi-exception

实现“多异常”概念的类库

1.0.2 2018-08-20 12:43 UTC

This package is not auto-updated.

Last update: 2024-09-29 06:20:09 UTC


README

此仓库包含实现“多异常”概念的类库

应用

实现示例

<?php

require __DIR__ . '/vendor/autoload.php';

use Svs13\MultiException;

function validate($password)
{
    $errors = new MultiException();

    if (false === strpos($password, '0')) {
        $errors->add(new Exception('Нет цифры 0!'));
    }
    if (strlen($password) < 6) {
        $errors->add(new Exception('Слишком короткий пароль'));
    }

    if (!$errors->empty()) {
        throw $errors;
    }
}

try {
    validate('123');
} catch (MultiException $errors) {
    foreach ($errors->getAll() as $error) {
        echo $error->getMessage() . "\n";
    }
}

结果

Нет цифры 0!
Слишком короткий пароль