Laravel中应用维护模式的运用

在阅读了Laravel的文档中,在Config一篇中曾提到维护模式,大致就是站点离线,暂时不能访问,给出一个友好的界面提示。

文档中指通过artisan命令进行操作,代码如下:

//开启维护模式
php artisan down
//关闭维护模式
php artisan up

在app/start/global.php中也给出了维护模式下的试图展示,代码如下:

App::down(function(){
    return Response::view('maintenance', array(), 503);
});

通过文档我们的确带来了想要的效果,但是在实际运用中,我们可能更多的是通过后台界面操作来让我们的应用离线,而不必执行命令,还有就是网站进入维护模式后,我们需要的只是前台提示,而后台依然可以进行操作。

那么,通过使用Laravel中artisan的代码模式,即可执行

//开启维护模式
Artisan::call('down');
//关闭维护模式
Artisan::call('up');

在开启维护模式后,我们需要特定url,比如admin/*能正常访问,那么,我们只需要在App::down()遇到该路由返回空就行了

App::down(function() {
    if (Request::is('admin*')) {
        return null;
    }
    return Response::view('maintenance', array(), 503);
});

或者,你还可以写更加复杂的逻辑来满足你的应用的需求。

这样,一个简单而完整的维护模式就可以实现了。

你可能感兴趣的:(laravel,laravel维护模式,Maintenance,Artisan)