[李景山php]每天TP5-20170206|thinkphp5-Route.php-2
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[李景山php]每天TP5-20170206|thinkphp5-Route.php-2相关的知识,希望对你有一定的参考价值。
/** * 注册路由规则 * @access public * @param string $rule 路由规则 * @param string $route 路由地址 * @param string $type 请求类型 * @param array $option 路由参数 * @param array $pattern 变量规则 * @return void */ public static function rule($rule, $route = ‘‘, $type = ‘*‘, $option = [], $pattern = []) {// 注册路由规则 $rule 路由规则 $route 路由地址 $type 请求参数 $变量规则 $group = self::getGroup(‘name‘);// 获取当前 群组 if (!is_null($group)) {// 如果当前 组不为空 // 路由分组 $option = array_merge(self::getGroup(‘option‘), $option);// 合并两个分组选项 $pattern = array_merge(self::getGroup(‘pattern‘), $pattern);// 合并另外的两个分组 } $type = strtoupper($type);// strtoupper 全部转换为大写 if (strpos($type, ‘|‘)) {// strpos 有类型 $option[‘method‘] = $type;// 选项 $type = ‘*‘;// 类型 } if (is_array($rule) && empty($route)) {// 就是 各种流程处理 foreach ($rule as $key => $val) {// 遍历循环 if (is_numeric($key)) {// 如果是 数字 $key = array_shift($val);// 踢出 } if (is_array($val)) {// 如果是数组 $route = $val[0];// 返回值 0 $option1 = array_merge($option, $val[1]);// 选项 $pattern1 = array_merge($pattern, isset($val[2]) ? $val[2] : []);// 样式 } else { $route = $val;// 路由值 } self::setRule($key, $route, $type, isset($option1) ? $option1 : $option, isset($pattern1) ? $pattern1 : $pattern, $group); }// 调用最后执行的 东西 } else { self::setRule($rule, $route, $type, $option, $pattern, $group);// 调用执行 新产品 } }
本文出自 “专注php 群号:414194301” 博客,请务必保留此出处http://jingshanls.blog.51cto.com/3357095/1891971
以上是关于[李景山php]每天TP5-20170206|thinkphp5-Route.php-2的主要内容,如果未能解决你的问题,请参考以下文章
[李景山php]每天TP5-20161210|Config.php
[李景山php]每天laravel-20161027|FileLoader.php
[李景山php]每天laravel-20161028|Translator.php
[李景山php]每天laravel-20161107|PhpEngine.php