路由标识设置大小写BUG

浏览:726 发布日期:2016/11/15 分类:ThinkPHP5专区
thinkphp/library/think/Route.php

函数 name($name = '', $value = null)

在写入路由标识的时候数组键值是不分大小写的

在读取的时候键值是转换为小写的

这样就会造成写入的时候没问题 在url生成的时候读取不出来

源代码public static function name($name = '', $value = null)
    {
        if (is_array($name)) {
            return self::$rules['name'] = $name;
        } elseif ('' === $name) {
            return self::$rules['name'];
        } elseif (!is_null($value)) {
            self::$rules['name'][$name][] = $value;
        } else {
            $name = strtolower($name);
            return isset(self::$rules['name'][$name]) ? self::$rules['name'][$name] : null;
        }
    }
修改public static function name($name = '', $value = null)
    {
        if (is_array($name)) {
            return self::$rules['name'] = $name;
        } elseif ('' === $name) {
            return self::$rules['name'];
        } elseif (!is_null($value)) {
            $name = strtolower($name); //把写入的键值转换为小写
            self::$rules['name'][$name][] = $value;
        } else {
            $name = strtolower($name);
            return isset(self::$rules['name'][$name]) ? self::$rules['name'][$name] : null;
        }
    }
最佳答案
评论( 相关
后面还有条评论,点击查看>>