Yii2的全拦截路由用于网站整体维护catchAll
- 6169
- PHP
- 0
- super_dodo
- 2017/05/05
当网站需要维护的时候,这个时候我们就需要向用户抛出一个维护的页面,方便提醒用户,有很多方法,此处Yii2已经有了一个很好的idea就是在配置文件中增加一条记录即可。
catchAll 路由(全拦截路由)
有时候,你会想要将你的 Web 应用临时调整到维护模式,所有的请求下都会显示相同的信息页。当然,要实现这一点有很多种方法。这里面最简单快捷的方法就是在应用配置中设置下 yii\web\Application::catchAll 属性:
//web.php这个配置文件的局部 $params = require(__DIR__ . '/params.php'); $config = [ 'id' => 'basic', 'basePath' => dirname(__DIR__), 'bootstrap' => ['log'], 'catchAll' => ['site/offline'], //这里是重点 'components' => [ 'request' => [ 'cookieValidationKey' => 'qyuTY-mapnIbureBY_8SMWAG3_rn4S8u', ], 'cache' => [ 'class' => 'yii\caching\FileCache', ], 'db' => require(__DIR__ . '/db.php'), ], 'params' => $params, ]; return $config;
catchAll 属性需要传入一个数组做参数,该数组的第一个元素为路由,剩下的元素会(以名值对的形式)指定绑定于该操作的各个参数。
当设置了 catchAll 属性时,它会替换掉所有从输入的请求中解析出来的路由。如果是上文的这种设置,用于处理所有传入请求的操作都会是相同的 site/offline。
Learn young, learn fair.学习趁年少,而且要学好。
相关阅读
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
热门文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
最新文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例