前面有过一篇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编辑模式着实有待改进啊。

ecmall 中Url体系改造实践的更多相关文章

  1. ECMall 中URL体系的改造思路

    EC系列的产品都已停止更新很久了,但其对中国中小电商企业的影响无疑是巨大的.很多公司,都是直接拿来即改,改了即用. 但他们都有个问题,代码是比较传统的开发模式过来的,尤其ecshop.ECMall系统 ...

  2. atitit.spring3 mvc url配置最佳实践

    atitit.spring3 mvc url配置最佳实践 1. Url-pattern  bp 1 2. 通用星号url pattern的问题 1 3. Other code 1 4. 参考 2 1. ...

  3. Lazy<T>在Entity Framework中的性能优化实践

    Lazy<T>在Entity Framework中的性能优化实践(附源码) 2013-10-27 18:12 by JustRun, 328 阅读, 4 评论, 收藏, 编辑 在使用EF的 ...

  4. 调用链监控 CAT 之 URL埋点实践

    URL监控埋点作用 一个http请求来了之后,会自动打点,能够记录每个url的访问情况,并将以此请求后续的调用链路串起来,可以在cat上查看logview 可以在cat Transaction及Eve ...

  5. Git-【技术干货】工作中Git的使用实践

    Git-[技术干货]工作中Git的使用实践 置顶 2019-09-17 21:02:16 web洋仔 阅读数 11444更多 分类专栏: Git   版权声明:本文为博主原创文章,遵循CC 4.0 B ...

  6. mvc中Url.RouteUrl或者Html.RouteLink实现灵活超链接,使href的值随路由名称或配置的改变而改变[bubuko.com]

    mvc,超链接除了直接写在a标签的href内还可以使用路由规则来生成,这样在改变了路由规则或者路由名称时不用再去代码中更改href的值,而且还容易遗漏.借助Url.RouteUrl或者Html.Rou ...

  7. Redis在WEB开发中的应用与实践

    Redis在WEB开发中的应用与实践 一.Redis概述: Redis是一个功能强大.性能高效的开源数据结构服务器,Redis最典型的应用是NoSQL.但事实上Redis除了作为NoSQL数据库使用之 ...

  8. web工程中URL地址的推荐写法

    三.web工程中URL地址的推荐写法 使用c标签<c:url value="" /> 会自动添加项目名 -> value中的值 前面要加 “/” 在JavaWeb ...

  9. JS中URL编码参数(UrlEncode)

    JS中URL编码参数(UrlEncode) 网上有很多文字作品写涉及在JS中呈现类似UrlEncode功能时都是自定义参数来呈现,其实JS中本身就有那样的参数.参数parameter由于用类似URL的 ...

随机推荐

  1. 基于 Scrapy-redis 的分布式爬虫详细设计

    基于 Scrapy-redis 的分布式爬虫设计   目录 前言 安装 环境 Debian / Ubuntu / Deepin 下安装 Windows 下安装 基本使用 初始化项目 创建爬虫 运行爬虫 ...

  2. java调用机器上的shell脚本

    java调用机器上的shell脚本,可以这样方便的通过shell脚本调用本机的C.C++等程序 Process process = null; Runtime runTime = Runtime.ge ...

  3. 【转】Spring的中IoC及AOP

    1. Spring介绍 Spring是轻量级的J2EE应用程序框架.Spring的核心是个轻量级容器(container),实现了IoC(Inversion of Control)模式的容器,Spri ...

  4. Game Center Achievements and Leaderboards part 1 <转>

    原地址:http://blog.sina.com.cn/s/blog_6b3661a901013xb0.html This is the first part of a step-by-step tu ...

  5. 微信小程序保存图片功能实现

    小程序保存图片功能实现 wxml: <view class="previewImage" style="display:{{previewImage}}" ...

  6. taro 请求函数封装

    1.项目目录 2.代码 app/src/service/api.js import Taro from '@tarojs/taro' import { HTTP_STATUS } from '../c ...

  7. 如何实现 Copying derived entities using only base class pointer

    #include <iostream> struct CloneableBase { ; }; template<class Derived> struct Cloneable ...

  8. 一款实现浏览实事的资讯平台app

    一款实现浏览实事的资讯平台app 如有转载,请注明出处:http://blog.csdn.net/u012301841/article/details/46687447 github链接:https: ...

  9. 【Linux】配置JAVA_HOME环境变量

    1. 永久修改,对所有用户有效 # vi /etc/profile //按键盘[Shift + g], 在profile文件最后添加下面的内容: export JAVA_HOME = /home/my ...

  10. 【BIEE】服务启动失败,查看错误日志

    Weblogic服务日志文件:------------------------------BI Managed Server:OBIEE_HOME\user_projects\domains\bifo ...