WEB开发技术

shopnc 商城源码阅读笔记–开篇概述

关于shopnc

以下是摘抄自百度百科的关于shopnc的介绍:

ShopNC商城系统,是天津市网城天创科技有限责任公司开发的一套多店模式的商城系统。 本系统具有商城系统非常完整和专业的功能与流程,系统包括了订单管理、商品管理、购物车功能、网上支付功能、信息管理、客户管理、会员体系设置、优惠促销、广告管理、第三方帐号登录等功能模块,可以实现快速搭建各种类型的个性化电商运营服务平台。

 

事实上shopnc有很多套不同类型的系统,我这次主要阅读的是最复杂最典型的B2B2C类京东的这套,主要的阅读方向

1.看商城在主业务上的实现流程

2.储存技术

3.缓存技术

4.前端技术

5.站内搜索技术

6.模板引擎标签语法

 

不过,我是第一次接触shopnc,所以我要缕一缕代码的执行流程,顺便标识一下目录结构.

访问index.php会自动判断是否要安装,安装主要执行3个步骤:   安装数据库文件->在根目录生成config.ini.php的配置文件->往admin表中插入创始人管理员帐号密码  

所以可以直接将/install/images/config.ini.php下的配置文件复制到根目录,再手动修改其中的配置项即可

而从安装文件源码可以看到,管理员密码是没有加盐或其他二次加密处理的,这个比较危险,尤其管理员还是使用MD5加密,现在MD5岌岌可危,已经不安全了。 所以使用shopnc第一件事应该是把这里的md5加密改掉,删除install目录,将/global.php中判断安装的代码注释掉

 

 

出门便遇拦路虎,shopnc马上遇到一个很奇怪的错误,php版本5.4n,mysql版本5.5

Fatal error: Call-time pass-by-reference has been removed in D:\WWW\shopnc\framework\db\mysqli.php on line 267

查看代码,看来是引用传值导致的锅,php官方有详细的文档说明:http://php.net/manual/zh/language.references.pass.php     

注意在函数调用时没有引用符号!只有函数定义中有。光是函数定义就足够使参数通过引用来正确传递了。

在最近版本的 PHP 中如果把 & 用在foo(&$a); 中会得到一条警告说“Call-time pass-by-reference”已经过时了,但是不知道为什么在这里会变成语法格式错误。这个后面我会专门写一篇文章来解释他。

传送门:    PHP引用传值规范问题

现在把$fields前面的 & 符号去掉,程序就正常运行了.

 

 文件执行流程:

 文件目录结构:

 

 

 本文到此结束,下篇文章我会继续读一读shopnc在处理主业务上的实现,包括会员,商品,订单等。

 

未经允许不得转载:WEB2.0开发设计 » shopnc 商城源码阅读笔记–开篇概述
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

大前端WP主题 更专业 更方便

联系我们联系我们