在阅读了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);});
或者,你还可以写更加复杂的逻辑来满足你的应用的需求。
这样,一个简单而完整的维护模式就可以实现了。