2016年9月

Interspire shopping cart(下面简称ISC)是一个很好的在线商城程序,代码明析,轻量级,比zencart的交互性更好,比magentoo更轻量,是企业建立商场的不二选择。

我将在这里写写自己对它的了解,好了,先上图:
InterspireShopCart代码分析.jpg

在isc中,全站默认使用伪静态化,index.php是所有代码的入口。也就是说,不管你访问的是主页,产品员,文章页或者任意url,所有请求都被.htaccess配置重定向到index.php中,这是所有请求的入口。

大致列一下主要的文件:
1.index.php //程序入口
2.init.php //定义路由规则及初始化模板
3./lib/init.php //初始化变量及导入各功能模块
4.index.php -> RewriteIncomingRequest() //调用并执行

ps:附图使用DIA绘制

欢迎加入Interspire shopping cart (ISC)交流群98498604。
本群关注isc的二次开发和模板使用,不装逼,有问必答。QQ群:98498604

[1]: /usr/uploads/2016/09/1470426606.jpg

环境是这样,lamp环境是安装在pc上的,使用移动端访问网站,遇到问题怎么调试呢?
可能你会想到使用chrome的调试窗口模拟成移动端界面,但是这个只适合调试前端html,由于请求环境不同,只有在移动端访问网页的时候,许多参数才会生成,使用chrome是过入不了php的断点的。所以必须是从移动端访问网站,才能进入zend debugger的断点。

网上搜索了一阵,基本上没有答案,经过自己的摸索发现是可以做动的。

原理:
zend debugger调试的原理是,zendstudio在运行时,在http环境之外,另外再监听一个端口。当有符合一定规则的url在提交时,被环境根目录下的ZendDebugger.dll检测到,将此参数提交到zendstudio,进入程序断点。

上面所说的提交包括:
1.在zendstudio界面的调试模式点debug按钮触发debug
2.在浏览器窗口点击debug按钮触发debug

这两种方式,都会生成一种特定格式的url,其中包括各种zenddebugger所需的参数。
debug1.jpg
上图是浏览器的zenddebugger参数

debug2.jpg
上图是zendstudio的debug模式中,按选debug按钮 -> internet explorer看到的参数

即然zenddubgger是通过检测url参数来进入调试模式,那么我们地手机上也使用这种格式的url打开网站就不可以了吗?

如上图,我们选把zendstudo调到调试模式,再将上图中那串长长的字符串复制到手机的浏览器上打开,顺利进入到调试过程。

由于手机上没有鼠标,也没有firebug工具,所以遇到问题怎么调试呢?

在近几年的firefox chrome中,都提供了基于手机"usb调试"的远程调试功能。比如在手机firefox上打开网页,在电脑的firefox中进行调试。

下面以firefox举例:

1.安装手机的usb驱动
由于此功能都是基于手机的"usb调试"功能,所以需要使用手机驱动连接手机与电脑。ps:猜测底层的实现是adb。
将手机usb插入电脑,360全家桶和腾讯全家桶会自动给你安装上各种手机管家,这些管家会自带驱动。如果嫌麻烦,可以自己去安装一个碗豆夹之类的。以华为手机为例,可以安装一个官方的HiSuite,广告会少得多。

2.打开手机usb调试
打开安卓手机的“开发人员选项”,勾上"usb调试"。如果找不到,去百度一下。

3.手机端firefox启用usb调试
firefox -> 设置 -> 高级 -> 通过usb远程调试

4.电脑firefox启用远程调试
点firefox右上角的小菜单 -> 开发者 -> WebIDE,进入界面。(快捷键是Shift + F8)
点"项目"菜单 -> 管理额外组件,安装ADB Helper和工具适配器扩展。

5.连接
电脑Firefox上按Shift + F8进入WebIDE界面,此时插入手机的usb线,右上角即显示手机型号。
手机上提示是否允许接入,点允许。
firefox安卓手机调试

需要注意的是,在整个调试过程中,每当插入usb线,手机会提示usb的连接方式,可以选MTP和PC助手,不能用u存储和仅充电,这样在电脑的调试工具上刷不出手机。

6.调试
从手机上用firefox打开一个网站,电脑会同步看到代码。如果在电脑上修改代码,也会同步显示在手机上。
firefox安卓手机调试

[1]: /usr/uploads/2016/09/1695737479.jpg
[2]: /usr/uploads/2016/09/1517025954.jpg