关于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在处理主业务上的实现,包括会员,商品,订单等。

转载于:https://www.cnblogs.com/tingzhi/p/5809849.html

shopnc 商城源码阅读笔记--开篇概述相关推荐

  1. 【Flink】Flink 源码阅读笔记(20)- Flink 基于 Mailbox 的线程模型

    1.概述 转载:Flink 源码阅读笔记(20)- Flink 基于 Mailbox 的线程模型 相似文章:[Flink]Flink 基于 MailBox 实现的 StreamTask 线程模型 Fl ...

  2. 【Flink】Flink 源码阅读笔记(18)- Flink SQL 中的流和动态表

    1.概述 转载:Flink 源码阅读笔记(18)- Flink SQL 中的流和动态表

  3. 【Flink】Flink 源码阅读笔记(16)- Flink SQL 的元数据管理

    1.概述 转载:Flink 源码阅读笔记(16)- Flink SQL 的元数据管理 Flink 源码阅读笔记(17)- Flink SQL 中的时间属

  4. 【Flink】Flink 源码阅读笔记(15)- Flink SQL 整体执行框架

    1.概述 转载:Flink 源码阅读笔记(15)- Flink SQL 整体执行框架 在数据处理领域,无论是实时数据处理还是离线数据处理,使用 SQL 简化开发将会是未来的整体发展趋势.尽管 SQL ...

  5. Transformers包tokenizer.encode()方法源码阅读笔记

    Transformers包tokenizer.encode()方法源码阅读笔记_天才小呵呵的博客-CSDN博客_tokenizer.encode

  6. 源码阅读笔记 BiLSTM+CRF做NER任务 流程图

    源码阅读笔记 BiLSTM+CRF做NER任务(二) 源码地址:https://github.com/ZhixiuYe/NER-pytorch 本篇正式进入源码的阅读,按照流程顺序,一一解剖. 一.流 ...

  7. 代码分析:NASM源码阅读笔记

    NASM源码阅读笔记 NASM(Netwide Assembler)的使用文档和代码间的注释相当齐全,这给阅读源码 提供了很大的方便.按作者的说法,这是一个模块化的,可重用的x86汇编器, 而且能够被 ...

  8. CI框架源码阅读笔记4 引导文件CodeIgniter.php

    到了这里,终于进入CI框架的核心了.既然是"引导"文件,那么就是对用户的请求.参数等做相应的导向,让用户请求和数据流按照正确的线路各就各位.例如,用户的请求url: http:// ...

  9. Yii源码阅读笔记 - 日志组件

    2015-03-09 一 By youngsterxyf 使用 Yii框架为开发者提供两个静态方法进行日志记录: Yii::log($message, $level, $category); Yii: ...

最新文章

  1. java线程之InheritableThreadLocal
  2. K8S部署工具:KubeOperator集群规划-手动模式
  3. java bitset_Java BitSet hashCode()方法及示例
  4. [css] 说说sroll-snap-type属性的运用场景有哪些?相关联的属性还有哪些?
  5. MSU 出品的 H.264 编码器比较 (2011.5)
  6. C#网站发布在IIS10上,Access数据库读取为空白的解决方案
  7. brave mysql_MYSQL常用命令
  8. 【Python小程序】第2讲:如何将TXT文件转换成CSV文件?
  9. 如何使用WordPress搭建网站
  10. HDU 1195 Open the Lock BFS
  11. 感知机-收敛性证明及代码实现
  12. linuxmint/ubuntu修改主机名hostnam
  13. vulcan 编程_Vulcan和AUSK之间的比较:如何充分利用Node,React和GraphQL
  14. 大数据模型-银行客户细分与个人客户流失预警
  15. Java300集零基础自学
  16. Ae:文本动画制作器
  17. Pwn-高阶ROP-[栈溢出]/篇3
  18. 在Sublime Text 2中将默认语法设置为不同的文件类型
  19. VMware安装ubuntu kylin
  20. 编程进阶一:编译器的特殊功能使用及借助编译时完成数据的初始化

热门文章

  1. getElementById取得文本框中的值
  2. 六、jQuery基础
  3. 河南省第十届大学生程序设计竞赛 A,B,C,D,F,G,H 题解
  4. 【翻译】TCP backlog在Linux中的工作原理
  5. jQuery对象插件封装步骤
  6. [转]WEB开发者必备的7个JavaScript函数
  7. html body div height: 100%;
  8. highslide使用笔记
  9. Wpf拖动按钮实现(二)
  10. ubuntu apache2 的负载均衡和反向代理