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在處理主業務上的實現,包括會員,商品,訂單等。
?
轉載于:https://www.cnblogs.com/tingzhi/p/5809849.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的shopnc 商城源码阅读笔记--开篇概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: joda jar日期处理类的学习
- 下一篇: 系统怎么放进大白菜u盘 如何将系统安装到