PHP - Как показать пользовательскую ошибку и остановить поток - PullRequest
0 голосов
/ 16 октября 2018

У меня есть мини-маршрут и система mvc

У меня есть несколько классов и методов для централизации некоторых функций внутри приложения, например.

Router :: route ('login')

Этот метод создаст URL для псевдонима, соответствующего внутри класса Router, проблема возникает, когда псевдоним не существует, у меня есть эта проверка

public static function route(string $name) {
    $base = self::$_instance->getBasePath();
    $alias = self::$_instance->getAliases();

    $method = self::$_instance->_request->server('requestMethod');

    if( isset($alias[$name]) && $alias[$name][$method] ) {
        $route = $alias[$name];
        return $base . $route[$method]['uri'];
    }
    return ("Route {$name} not defined.");
}

Поэтому, когда маршрут не существуетreturn Маршрут не определен , но когда я вижу браузер, на экране ничего не отображается.

Просмотр кода

<nav class="navbar navbar-expand-md navbar-light bg-light fixed-top" style="box-shadow: 0px 0px 2px #ccc;background: #fdfdfd!important;">
    <ul class="navbar-nav mr-auto">
        <a class="nav-link" href="<?= Router::route('home') ?>">Home</a>
        <a class="nav-link" href="<?= Router::route('site.about') ?>">About</a>
        <a class="nav-link" href="<?= Router::route('site.contact') ?>">Contact</a>
    </ul>
    <ul class="navbar-nav ml-auto">
        <?php if(Router::has('auth.login')) { ?>
            <?php if(Capsule::app()->user()->isAuth()) { ?>
                    <a class="nav-link" href="/home">Home</a>
                <?php } else { ?>
                    <a class="nav-link" href="<?= Router::route('auth.login') ?>">Login</a>
                    <a class="nav-link" href="<?= Router::route('auth.register') ?>">Register</a>
                <?php } ?>
        <?php } ?>
    </ul>
</nav>

У меня есть только маршруты: Войти, Зарегистрироватьсяи Главная, Контакт и О не существует

в браузере. У меня есть ссылки на / Маршрут не определен при наведении курсора мыши на ссылку или ссылку «О контакте»

enter image description here

но я хочу, чтобы поток проекта остановился и выдавал ошибку, такую ​​как Laravel или Yii Exceptions Что-то вроде

Route О не определено

На весь экран.

Спасибо, яN заранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...