Skip to content

Этот репозиторий содержит библиотеку классов, реализующих концепцию "мультиисключение"

License

svs13/multi-exception

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MultiException

Этот репозиторий содержит библиотеку классов, реализующих концепцию "мультиисключение"

Применение

Пример реализации:

<?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!
Слишком короткий пароль

About

Этот репозиторий содержит библиотеку классов, реализующих концепцию "мультиисключение"

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages