資源描述:
《基于b2c的電子商城開發(fā)》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫。
1、一.項目背景1.項目的意義www=why+what+howW:why?ü看看自己學的怎么樣ü能否靈活運用各個知識點,完成一個項目。ü找到做項目的一個感覺,積累項目經驗,為找工作奠定基礎。ü通過項目,認識自己的不足,然后更加努力。2.項目定位W:what?PHP可以干什么?Web開發(fā),基于B/Sü電子商務üCMS,內容管理系統(tǒng),涵蓋面比較廣泛üSNS,社交網站ü各種管理系統(tǒng)電子商務的一些模式B,商家C,客戶üB2C:商家對客戶。凡客,小米üC2C:客戶對客戶,網站方只提供平臺。淘寶、拍拍üB2B2C:商家對商家對
2、客戶。京東,當當,國美,蘇寧üB2B:商家對商家,批發(fā)平臺。阿里巴巴üO2O:online2offline,線上線下,美團、糯米,大眾點評,比較依賴于地圖。最多的是B2C。我們的項目,是基于B2C模式的電子商城。做的過程中,可以參考ecshop、京東。W:how二.項目規(guī)劃1.項目整體架構從電子商務的角度來講,電子商城通常包括3個方面:ü商品部分ü用戶部分ü電子商務(訂單)從開發(fā)項目的角度來看,需要完成兩個方面的事情ü后臺的開發(fā)ü前臺的開發(fā)整體架構圖商品模塊,是我們商城的核心,也是整個電子商城項目中最難的一個內
3、容。2.時間安排三.數(shù)據(jù)庫設計重要程度:*****難度:*****數(shù)據(jù)庫的設計,就是體現(xiàn)了你對業(yè)務邏輯的理解。數(shù)據(jù)庫設計的好壞,有時候決定了項目的成敗。要點:ü表與表之間的關系(一對一、一對多[多對一],多對多[難])ü每一個字段的數(shù)據(jù)類型(數(shù)值、字符串、日期時間)沒有布爾類型[使用tinyint]如何來設計數(shù)據(jù)庫?----以商品模塊為例找到核心(中心),然后一步一步的展開。核心----商品先來初步設計一下商品表的字段:名稱、價格、圖片、顏色、上架時間、各種規(guī)格參數(shù)、詳細描述,庫存,品牌、分類。這么多的屬性,是
4、存放到一張表當中的嗎?品牌和商品是兩個不同的東西,設計表的一個理念:一張表表示一種信息。冗余-->更新異常、刪除異常。耦合性高。軟件開發(fā)的一個理念:低耦合、高內聚。如何來判斷品牌和商品是兩種不同的信息呢?[小技巧]:看他們的生存周期-----生死時刻。品牌:apple1984年就有了商品:iphone62014年才有的商品和它的價格,生存周期就是一致的。有了這個商品,自然就要定一個價格。應該吧品牌單獨的拿出來,用一張新的表保存。品牌和商品有關系,是一個什么樣的關系呢?正反兩個方向來看。一個品牌對應n個商品一個商
5、品對應1個品牌綜上所述:品牌和商品之間的關系一對多1:n如何體現(xiàn)這種一對多的關系呢?1的一方,稱之為父表,多的一方稱之為子表。需要在子表中增加一個字段,和主表中的主鍵進行關聯(lián),子表中的這個字段就是外鍵。由一張表到兩張表,這個過程很重要。商品分類信息,同樣也單獨的保存到一張表中。商品分類表。商品的擴展屬性先看實際情況三星s6蘋果6再來看書籍的情況Php書Mysql書不同類型(書、手機)的商品有不同的擴展屬性。商品的屬性,對商品的描述,通常分為兩種信息:ü基礎信息:所有的商品都具備的屬性,如商品名稱,價格,縮略圖。
6、ü擴展信息:不同類型的商品,它的擴展信息是不同的,如服裝,有材質,顏色,做工,手機則具備屏幕尺寸,操作系統(tǒng),內存大小,攝像頭,書籍具備出版社,作者,ISBN,印刷。不同類型的商品,它有不同的擴展屬性,首先就需要把這些擴展屬性保存起來。此時就有兩種表,goods_type和attribute表。要注意,attibute表存到屬性本身,不是某個商品的屬性。商品和屬性之間的關系。解決多對多的問題,需要引入第三張關聯(lián)表。本項目商品模塊的表設計ER圖思考:商品分類和商品類型有何區(qū)別?商品分類它是為商品服務,為了將商品進行
7、分門別類的管理,商品類型是為屬性服務的,二者的目的就不一樣了。四.編程思想思想決定高度。1.oop思想OOP:ObjectOrientedProgramming,面向對象程序設計,面向對象編程OOP的三大特征:ü封裝,通過類實現(xiàn)的,將內部實現(xiàn)細節(jié)隱藏起來,給外部提供一個調用接口。ü繼承,通過extends來實現(xiàn)的,子類可以繼承父類的屬性和方法(protected和public)ü多態(tài),php本身就是多態(tài)的,php是弱類型的語言。在php中一般不怎么提到多態(tài)概念。OOP的好處:ü可維護性好ü可擴展性好ü可重用性好
8、ü靈活度好我們的項目也是采用OOP的,所以就有很多類和方法。2.mvc模式Mvc思想(重點)面試題。如何理解mvc?M:model,模型,負責完成具體的業(yè)務邏輯。V:view,視圖,負責展示界面的。C:controller,控制器,負責程序調度的。(扮演的是交通警察的角色)核心思想:將業(yè)務邏輯和顯示相分離。(將程序的輸入,處理和輸出分離開來)單一入口:index.php?m=Admin