前面有过一篇ECMall 中URL体系的改造思路
这两天基于这个思路,做了实践。
为什么要改造?
ECMall是完整的MVC体系,但没有完整的路由机制来进行路由的构造与反解析。
改造原则:不影响原有使用方式。
- 代码
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(); /* 数据过滤 */
- 伪静态配置
pathinfo模式即可。
博客园的markdown编辑模式着实有待改进啊。