首页 > 代码库 > [李景山php]每天TP5-20170206|thinkphp5-Route.php-2
[李景山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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。