ecmall 中Url体系改造实践

前面有过一篇ECMall 中URL体系的改造思路http://www.cnblogs.com/x3d/p/3627260.html

这两天基于这个思路,做了实践。

为什么要改造?

ECMall是完整的MVC体系,但没有完整的路由机制来进行路由的构造与反解析。

改造原则:不影响原有使用方式。

  1. 代码

includes/global.lib.php


/**
 *    获取URL地址
 *
 *    @author    Garbin
 *    @param     mixed $query
 *    @param     string $rewrite_name
 *    @return    string
 */
function url($query, $rewrite_name = null)
{
    $query = ECRouter::queryStringToArray(array('query'=>$query));
    //FIX 部分不带action键值对的情况
    if(count($query)>1 && empty($query[ECRouter::URL_KEY_ACTION])){
        $query = array_merge(array(ECRouter::URL_KEY_ACTION => ECRouter::DEFAULT_ACTION), $query);
    }
    
	return ECRouter::creatUrl(ECRouter::urlArrayToPathinfo($query));
}

eccore/ecmall.php

ECRouter::beginUrl();
        /* 数据过滤 */
  1. 伪静态配置

pathinfo模式即可。

博客园的markdown编辑模式着实有待改进啊。

原文地址:https://www.cnblogs.com/x3d/p/ecmall-url-router.html