基于thinkphp框架的中小型企業(yè)網(wǎng)站開(kāi)發(fā)模板的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第1頁(yè)
已閱讀1頁(yè),還剩62頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  某某學(xué)院</b></p><p><b>  畢業(yè)論文</b></p><p>  題目: 基于ThinkPHP框架的中小型企業(yè) </p><p>  網(wǎng)站開(kāi)發(fā)模板的設(shè)計(jì)與實(shí)現(xiàn) </p><p>  姓名:

2、 </p><p>  學(xué)號(hào): </p><p>  院系: 計(jì)算機(jī)學(xué)院 </p><p>  專業(yè): 軟件工程 </p><p>  指導(dǎo)老

3、師: </p><p>  2015年3月28日</p><p><b>  摘要</b></p><p>  根據(jù)大多數(shù)中小型企業(yè)的網(wǎng)站建設(shè)需求分析可知,企業(yè)網(wǎng)站前后臺(tái)主要功能都是大同小異的。這說(shuō)明大多數(shù)中小型企業(yè)的網(wǎng)站建設(shè)核心基本上是一致的。在當(dāng)今瞬機(jī)萬(wàn)變的市場(chǎng)環(huán)境中,快速高效開(kāi)發(fā)

4、是解決問(wèn)題的關(guān)鍵。對(duì)于網(wǎng)站設(shè)計(jì)者來(lái)說(shuō),面對(duì)大同小異的網(wǎng)站建設(shè)需求,這無(wú)非就是設(shè)計(jì)一個(gè)適合大多數(shù)中小型企業(yè)網(wǎng)站建設(shè)模板以及企業(yè)信息管理的數(shù)據(jù)庫(kù)。在快速高效開(kāi)發(fā)方面, MVC模式開(kāi)發(fā)可提高開(kāi)發(fā)效率與質(zhì)量,而ThinkPHP框架秉承了LAMP架構(gòu)的優(yōu)勢(shì),嚴(yán)格遵循MVC設(shè)計(jì)模式,使用RBAC權(quán)限機(jī)制,具有輕量級(jí)、擴(kuò)展性強(qiáng)、等優(yōu)勢(shì),它正符合以上的開(kāi)發(fā)特點(diǎn)。</p><p>  通過(guò)對(duì)中小型企業(yè)的網(wǎng)站建設(shè)需要和面向WEB開(kāi)發(fā)

5、語(yǔ)言的研究,我自主研發(fā)了一個(gè)面向中小型企業(yè)的網(wǎng)站通用模板。該模板采用了Thinkphp+MYSQL作為技術(shù)基礎(chǔ)進(jìn)行開(kāi)發(fā)。采用MVC的開(kāi)發(fā)模式,模塊化開(kāi)發(fā)方式作為功能開(kāi)發(fā)形式。本框架易于功能擴(kuò)展,代碼維護(hù),具有優(yōu)秀的二次開(kāi)發(fā)能力,為廣大中小型網(wǎng)站用戶提供了優(yōu)秀的、全方位的企業(yè)網(wǎng)站。</p><p>  因此,結(jié)合ThinkPHP框架與MySQL數(shù)據(jù)庫(kù)的開(kāi)發(fā)模式,建立一個(gè)面向中小型企業(yè)的網(wǎng)站通用模板,從而促使企業(yè)網(wǎng)站

6、在開(kāi)發(fā)技術(shù)上更快速與高效,也解決了中小型企業(yè)在業(yè)務(wù)更新、企業(yè)宣傳、推廣成本和推廣設(shè)計(jì)技術(shù)上存在的難題。</p><p>  關(guān)鍵字:ThinkPHP框架,MVC設(shè)計(jì)模式,RBAC權(quán)限,中小型企業(yè)網(wǎng)站通用模板</p><p><b>  Abstract</b></p><p>  According to the majority of the

7、 small and medium enterprise website construction demand analysis, the main function of the enterprise website before and after is pretty much the same. This shows that most of the small and medium-sized enterprise websi

8、te construction core is basically consistent. In today's instantaneous change of market environment, fast and efficient development is the key to solve the problem. For web designers, in the face of the same website

9、construction requirements, this </p><p>  Through the study of the website construction to the needs of small and medium-sized enterprises and WEB oriented development language, I developed a site generic te

10、mplate for small and medium enterprise. This template uses Thinkphp + MYSQL as a technology foundation for development. Using MVC development mode, modular development mode as the function forms of development. This fram

11、ework is easy to expand functions, code maintenance, and it has the excellent ability of second development, which </p><p>  Therefore, combining ThinkPHP framework and MySQL database development mode, and s

12、etting up a website for small and medium-sized enterprise general template. Thus, we can not only promote the enterprise website in the development technology more quickly and efficiently, but also solve the problem of s

13、mall and medium enterprises in the business updates, enterprise publicity, promotion and popularization of design cost existing in technique.</p><p>  Key words: ThinkPHP framework, MVC design pattern, RBAC

14、permissions,</p><p>  Small and medium-sized enterprise website general template</p><p><b>  目錄</b></p><p><b>  摘要I</b></p><p>  AbstractII<

15、;/p><p><b>  第一章 緒論1</b></p><p>  1.1 互聯(lián)網(wǎng)的起源和發(fā)展1</p><p>  1.2 目前互聯(lián)網(wǎng)的現(xiàn)狀1</p><p>  1.3 企業(yè)電子商務(wù)的興起2</p><p>  1.4 企業(yè)為什么要建立網(wǎng)站2</p><p>

16、  第二章 ThinkPHP框架及相關(guān)技術(shù)3</p><p>  2.1 ThinkPHP框架簡(jiǎn)介3</p><p>  2.2 Mysql數(shù)據(jù)庫(kù)3</p><p>  2.3 Apache概述3</p><p>  第三章 需求分析5</p><p>  3.1 技術(shù)可行性5</p><

17、;p>  3.1.1 動(dòng)態(tài)網(wǎng)站技術(shù)介紹5</p><p>  3.1.2 市場(chǎng)可行性5</p><p>  3.1.3 語(yǔ)言優(yōu)勢(shì)6</p><p>  3.1.4 操作可行性6</p><p>  3.2 軟件可行性分析6</p><p>  3.2.1 開(kāi)發(fā)環(huán)境6</p><p&

18、gt;  3.2.2 服務(wù)器環(huán)境7</p><p>  3.3 項(xiàng)目可行性分析7</p><p>  3.3.1 B/S模式介紹7</p><p>  3.3.2 B/S模式的優(yōu)點(diǎn)7</p><p>  3.4 功能性需求8</p><p>  3.4.1 網(wǎng)站前臺(tái)功能8</p><p&

19、gt;  3.4.2網(wǎng)站后臺(tái)功能9</p><p>  3.5非功能性需求10</p><p>  3.5.1 后臺(tái)界面10</p><p>  3.5.2 前臺(tái)頁(yè)面10</p><p>  第四章 概要設(shè)計(jì)11</p><p>  4.1 數(shù)據(jù)庫(kù)設(shè)計(jì)11</p><p>  4.1

20、.1 數(shù)據(jù)庫(kù)設(shè)計(jì)概述11</p><p>  4.1.2 數(shù)據(jù)庫(kù)需求分析11</p><p>  4.1.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)12</p><p>  4.1.4 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)18</p><p>  4.2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)25</p><p>  4.2.1本網(wǎng)站開(kāi)發(fā)模板架構(gòu)方案25</p&g

21、t;<p>  4.2.2系統(tǒng)架構(gòu)總統(tǒng)設(shè)計(jì)26</p><p>  第五章 詳細(xì)設(shè)計(jì)28</p><p>  5.1系統(tǒng)公共文件核心代碼28</p><p>  5.1.1公共配置文件及入口文件28</p><p>  5.1.2后臺(tái)權(quán)限控制實(shí)現(xiàn)29</p><p>  5.2 網(wǎng)站管理后臺(tái)3

22、0</p><p>  5.2.1 后臺(tái)總體界面30</p><p>  5.2.2 管理員登錄30</p><p>  5.2.3用戶授權(quán)32</p><p>  5.2.4數(shù)據(jù)庫(kù)備份35</p><p>  5.2.5前臺(tái)樣式設(shè)置38</p><p>  5.3 網(wǎng)站前臺(tái)39&l

23、t;/p><p>  5.3.1 前臺(tái)首頁(yè)39</p><p>  5.3.2 企業(yè)簡(jiǎn)介41</p><p>  5.3.3 商品展示41</p><p>  5.3.4 企業(yè)新聞42</p><p>  5.3.5 旅游資源42</p><p>  5.4 系統(tǒng)關(guān)鍵技術(shù)42</p

24、><p>  5.4.1 ajax異步傳輸42</p><p>  5.4.2 響應(yīng)式技術(shù)43</p><p>  第六章 系統(tǒng)測(cè)試46</p><p>  6.1 測(cè)試概要46</p><p>  6.2 測(cè)試模型46</p><p>  6.3 功能測(cè)試46</p>&

25、lt;p>  6.3.1硬件配置與測(cè)試方法47</p><p>  6.3.2具體功能測(cè)試48</p><p>  6.3.3測(cè)試執(zhí)行情況53</p><p>  6.5 測(cè)試結(jié)論55</p><p>  6.5.1 軟件能力55</p><p>  6.5.2 缺陷和限制55</p>

26、<p>  第七章 全文總結(jié)與展望56</p><p>  7.1 本文總結(jié)56</p><p>  7.2改進(jìn)方向56</p><p><b>  致 謝57</b></p><p><b>  參考文獻(xiàn)58</b></p><p><b> 

27、 第一章 緒論</b></p><p>  1.1 互聯(lián)網(wǎng)的起源和發(fā)展</p><p>  Internet的最早起源于美國(guó)國(guó)防部高級(jí)研究計(jì)劃署DARPA(Defence Advanced Research Projects Agency)的前身ARPAnet,該網(wǎng)于1969年投入使用。由此,ARPAnet成為現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)誕生的標(biāo)志。</p><p>

28、  從六十年代起,由ARPA提供經(jīng)費(fèi),聯(lián)合計(jì)算機(jī)公司和大學(xué)共同研制而發(fā)展起來(lái)的ARPAnet網(wǎng)絡(luò)。最初,ARPAnet主要是用于軍事研究目的,它主要是基于這樣的指導(dǎo)思想:網(wǎng)絡(luò)必須經(jīng)受得住故障的考驗(yàn)而維持正常的工作,一旦發(fā)生戰(zhàn)爭(zhēng),當(dāng)網(wǎng)絡(luò)的某一部分因遭受攻擊而失去工作能力時(shí),網(wǎng)絡(luò)的其他部分應(yīng)能維持正常的通信工作。ARPAnet在技術(shù)上的另一個(gè)重大貢獻(xiàn)是TCP/IP協(xié)議簇的開(kāi)發(fā)和利用。作為Internet的早期骨干網(wǎng),ARPAnet的試驗(yàn)并奠

29、定了Internet存在和發(fā)展的基礎(chǔ),較好地解決了異種機(jī)網(wǎng)絡(luò)互聯(lián)的一系列理論和技術(shù)問(wèn)題。</p><p>  1983年,ARPAnet分裂為兩部分,ARPAnet和純軍事用的MILNET。同時(shí),局域網(wǎng)和廣域網(wǎng)的產(chǎn)生和逢勃發(fā)展對(duì)Internet的進(jìn)一步發(fā)展起了重要的作用。其中最引人注目的是美國(guó)國(guó)家科學(xué)基金會(huì)ASF(National Science Foundation)建立的NSFnet。NSF在全美國(guó)建立了按地

30、區(qū)劃分的計(jì)算機(jī)廣域網(wǎng)并將這些地區(qū)網(wǎng)絡(luò)和超級(jí)計(jì)算機(jī)中心互聯(lián)起來(lái)。NFSnet于1990年6月徹底取代了ARPAnet而成為Internet的主干網(wǎng)。</p><p>  NSFnet對(duì)Internet的最大貢獻(xiàn)是使Internet向全社會(huì)開(kāi)放,而不象以前的那樣僅供計(jì)算機(jī)研究人員和政府機(jī)構(gòu)使用。1990年9月,由Merit,IBM和MCI公司聯(lián)合建立了一個(gè)非盈利的組織―先進(jìn)網(wǎng)絡(luò)科學(xué)公司ANS(Advanced Net

31、work &Science Inc.)。ANS的目的是建立一個(gè)全美范圍的T3級(jí)主干網(wǎng),它能以45Mbps的速率傳送數(shù)據(jù)。到1991年底,NSFnet的全部主干網(wǎng)都與ANS提供的T3級(jí)主干網(wǎng)相聯(lián)通。</p><p>  Internet的第二次飛躍歸功于Internet的商業(yè)化,商業(yè)機(jī)構(gòu)一踏入Internet這一陌生世界,很快發(fā)現(xiàn)了它在通信、資料檢索、客戶服務(wù)等方面的巨大潛力。于是世界各地的無(wú)數(shù)企業(yè)紛紛涌入

32、Internet,帶來(lái)了Internet發(fā)展史上的一個(gè)新的飛躍。</p><p>  1.2 目前互聯(lián)網(wǎng)的現(xiàn)狀</p><p>  Internet正以當(dāng)初人們始料不及的驚人速度向前發(fā)展,今天的Internet已經(jīng)從各個(gè)方面逐漸改變?nèi)藗兊墓ぷ骱蜕罘绞?。人們可以隨時(shí)從網(wǎng)上了解當(dāng)天最新的天氣信息、新聞動(dòng)態(tài)和旅游信息,可看到當(dāng)天的報(bào)紙和最新雜志,可以足不出戶在家里炒股、網(wǎng)上購(gòu)物、收發(fā)電子郵件,

33、享受遠(yuǎn)程醫(yī)療和遠(yuǎn)程教育等等。</p><p>  Internet的意義并不在于它的規(guī)模,而在于它提供了一種全新的全球性的信息基礎(chǔ)設(shè)施。當(dāng)今世界正向知識(shí)經(jīng)濟(jì)時(shí)代邁進(jìn),信息產(chǎn)業(yè)已經(jīng)發(fā)展成為世界發(fā)達(dá)國(guó)家的新的支柱產(chǎn)業(yè),成為推動(dòng)世界經(jīng)濟(jì)高速發(fā)展的新的源動(dòng)力,并且廣泛滲透到各個(gè)領(lǐng)域,特別是近幾年來(lái)國(guó)際互聯(lián)網(wǎng)絡(luò)及其應(yīng)用的發(fā)展,從根本上改變了人們的思想觀念和生產(chǎn)生活方式,推動(dòng)了各行各業(yè)的發(fā)展,并且成為知識(shí)經(jīng)濟(jì)時(shí)代的一個(gè)重要標(biāo)

34、志之一。</p><p>  1.3 企業(yè)電子商務(wù)的興起</p><p>  進(jìn)入20世紀(jì)九十年代后,Internet在商業(yè)上的應(yīng)用其發(fā)展速度令人瞠目結(jié)舌。這個(gè)覆蓋全球的網(wǎng)絡(luò)以其無(wú)可比擬的優(yōu)勢(shì)向人們暗示著巨大的和潛在的商業(yè)利益。與傳統(tǒng)的商業(yè)行為相比,它可提供資源豐富、迅速及時(shí)的商業(yè)信息,它的客戶與市場(chǎng)遍及世界上每個(gè)角落,使很不起眼的小企業(yè)可以一下子變成“跨國(guó)公司”。</p>

35、<p>  成千上萬(wàn)的大小企業(yè)紛紛加入到Internet 這個(gè)神奇的淘金王國(guó)中。Internet正以驚人的速度發(fā)展,它的普及意味著企業(yè)網(wǎng)絡(luò)時(shí)代的來(lái)臨,意味著企業(yè)生存方式、組織方式、工作方式的變革。它正在為企業(yè)提供一種全新的市場(chǎng)概念,正在改寫(xiě)商業(yè)社會(huì)的規(guī)則,正在給各行各業(yè)的人們帶來(lái)新的機(jī)會(huì)和挑戰(zhàn)。未來(lái)的商業(yè)競(jìng)爭(zhēng)就是信息的競(jìng)爭(zhēng),企業(yè)進(jìn)入網(wǎng)絡(luò)空間已是刻不容緩。</p><p>  1.4 企業(yè)為什么要建立網(wǎng)站

36、</p><p>  很多企業(yè)由于缺乏技術(shù)人員等原因無(wú)法建立自己的網(wǎng)站,導(dǎo)致了在新的競(jìng)爭(zhēng)形勢(shì)中的失利。是否擁有自己的網(wǎng)站已經(jīng)成為衡量一個(gè)企業(yè)綜合素質(zhì)的重要標(biāo)志</p><p>  企業(yè)網(wǎng)站的具體作用:</p><p>  A.通過(guò)網(wǎng)站展示企業(yè)風(fēng)采、傳播企業(yè)文化、樹(shù)立企業(yè)形象、提高企業(yè)知明度。</p><p>  B.通過(guò)網(wǎng)站可介紹企業(yè)的基本情

37、況,使經(jīng)銷(xiāo)商和用戶更多的知道您的存在。 </p><p>  C.通過(guò)網(wǎng)站可以宣傳您的產(chǎn)品和服務(wù)的優(yōu)勢(shì),讓經(jīng)銷(xiāo)商和用戶在比較中了解您、走近您、直到選擇您。</p><p>  D.通過(guò)網(wǎng)站您可以利用電子信箱經(jīng)濟(jì)而又快捷地與外界進(jìn)行各種信息溝。 </p><p>  E.通過(guò)網(wǎng)站您可以尋求合資與合作。</p><p>  第二章 ThinkPH

38、P框架及相關(guān)技術(shù)</p><p>  由于在如今互聯(lián)網(wǎng)快速發(fā)展的時(shí)代里,講究的是一個(gè)快字,企業(yè)的業(yè)務(wù)更新更是需要快速,因此,對(duì)于本中小型企業(yè)網(wǎng)站開(kāi)發(fā)模板的設(shè)計(jì)與實(shí)現(xiàn),我采用了在web開(kāi)發(fā)方面比較流行的腳本語(yǔ)言PHP。而ThinkPHP是php腳本語(yǔ)言中一個(gè)較為流行的框架,所以,本項(xiàng)目采用了ThinkPHP框架、Mysql數(shù)據(jù)庫(kù)和Apache服務(wù)器來(lái)開(kāi)發(fā)的。</p><p>  2.1 Th

39、inkPHP框架簡(jiǎn)介</p><p>  ThinkPHP可以更方便和快捷的開(kāi)發(fā)和部署應(yīng)用。其不僅僅是企業(yè)級(jí)應(yīng)用,任何PHP應(yīng)用開(kāi)發(fā)都可以從ThinkPHP的簡(jiǎn)單和快速的特性中受益。ThinkPHP本身具有很多的原創(chuàng)特性,并且倡導(dǎo)大道至簡(jiǎn),開(kāi)發(fā)由我的開(kāi)發(fā)理念,用最少的代碼完成更多的功能,宗旨就是讓W(xué)eb應(yīng)用開(kāi)發(fā)更簡(jiǎn)單、更快速。 </p><p>  ThinkPHP遵循Apach

40、e2開(kāi)源許可協(xié)議發(fā)布,意味著可以免費(fèi)使用ThinkPHP,甚至允許把基于ThinkPHP開(kāi)發(fā)的應(yīng)用開(kāi)源或商業(yè)產(chǎn)品發(fā)布/銷(xiāo)售。 </p><p>  ThinkPHP可以支持Windows/Unix服務(wù)器環(huán)境,可運(yùn)行于包括Apache、IIS在內(nèi)的多種Web服務(wù)器。需要PHP5.0及以上版本支持。支持MySQL、MsSQL、PgSQL、Sqlite、Oracle等數(shù)據(jù)庫(kù)。 </p>

41、<p>  ThinkPHP是一個(gè)免費(fèi)開(kāi)源、快捷、簡(jiǎn)單的OOP輕量級(jí)PHP開(kāi)發(fā)框架。它遵循Apache 2開(kāi)源協(xié)議發(fā)布。是為了敏捷的企業(yè)級(jí)開(kāi)發(fā)而誕生的。獲取ThinkPHP的方式有很多。</p><p>  2.2 Mysql數(shù)據(jù)庫(kù)</p><p>  MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQL AB公司。目前MySQL被廣泛地應(yīng)用在Intern

42、et上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。</p><p>  2.3 Apache概述</p><p>  Apache,一種開(kāi)放源碼的HTTP服務(wù)器,可以在大多數(shù)計(jì)算機(jī)操作系統(tǒng)中運(yùn)行,由于其多平臺(tái)和安全性(注1)被廣泛使用,是最流行的Web服務(wù)器端軟件之一。它快速、可靠并且

43、可通過(guò)簡(jiǎn)單的API擴(kuò)展,Perl/Python等解釋器可被編譯到服務(wù)器中。</p><p>  縱觀Apache,它為我們的網(wǎng)絡(luò)管理員提供了豐富多彩的功能,包括目錄索引、目錄別名、內(nèi)容協(xié)商、可配置的HTTP錯(cuò)誤報(bào)告、CGI程序的SetUID執(zhí)行、子進(jìn)程資源管理、服務(wù)器端圖象映射、重寫(xiě)URL、URL拼寫(xiě)檢查以及聯(lián)機(jī)手冊(cè)man等。也就是說(shuō),如果您在Linux Server上成功安裝配置了Apache之后,您的計(jì)算機(jī)也

44、將隨著Apache的生效而搖身一變,成為一臺(tái)名副其實(shí)的Web Server,這種變化的確是激動(dòng)人心的。伴隨著自由軟件發(fā)展的強(qiáng)大動(dòng)力,我們有理由相信Apache的未來(lái)是一片光明的。</p><p><b>  第三章 需求分析</b></p><p>  在開(kāi)始寫(xiě)本開(kāi)發(fā)模板需求之前,我們需要對(duì)本開(kāi)發(fā)模板的可行性進(jìn)行分析,如果確實(shí)可行才能繼續(xù)實(shí)施,否則將會(huì)產(chǎn)生一些額外的損

45、失??尚行苑治龅娜蝿?wù)是從技術(shù)上、經(jīng)濟(jì)上、社會(huì)上、法律上分析需要解決的問(wèn)題是否存在可行的解。同時(shí)也要對(duì)需要實(shí)現(xiàn)的功能性需求和非功能性需求做一個(gè)詳細(xì)的計(jì)劃,為以后的具體實(shí)施提供一個(gè)明確的方向和依據(jù)。</p><p><b>  3.1 技術(shù)可行性</b></p><p>  3.1.1 動(dòng)態(tài)網(wǎng)站技術(shù)介紹</p><p>  Internet起源于2

46、0世紀(jì)60年代的美國(guó),它在近幾年迅速風(fēng)靡全球,其根本原因不僅在于她擁有卓越的國(guó)際通信功能,更在于它擁有巨大的信息資源。所謂的Internet是指由分布在全世界成千上萬(wàn)的計(jì)算機(jī)網(wǎng)絡(luò)遵循一定的通訊協(xié)議,并相互聯(lián)系在一起而形成的國(guó)際互連網(wǎng)絡(luò),也就是說(shuō),Internet是建立和使用這些網(wǎng)絡(luò)的人群、群體、公司以及各種網(wǎng)絡(luò)資源的集合體。</p><p>  隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,單純的靜態(tài)頁(yè)面已經(jīng)不能滿足發(fā)展的需要,因?yàn)殪o

47、態(tài)頁(yè)面是用單純的HTML語(yǔ)言組成的,它沒(méi)有交互性。因此,為了滿足實(shí)際的需要,許多網(wǎng)頁(yè)文件擴(kuò)展名不再只是"htm"、"html",出現(xiàn)了以"php"、"asp"、"jsp"、"shtml"等為后綴的網(wǎng)頁(yè)文件,這些都是采用動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)制作出來(lái)的。</p><p>  3.1.2 市場(chǎng)可行性</

48、p><p>  以前,世界上許多公司都把PHP當(dāng)作是一個(gè)“高度機(jī)密,嚴(yán)格保密”的電腦程序語(yǔ)言,但是現(xiàn)在它已經(jīng)變成最為著名的,在Web, Internet, E-commerce以及 B2B等諸多項(xiàng)目上應(yīng)用最廣泛的面向?qū)ο蟮哪_本語(yǔ)言。即使是在今天,仍有許多競(jìng)爭(zhēng)性(competing)公司把PHP當(dāng)作是高度機(jī)密的東西,決不向外界(競(jìng)爭(zhēng)對(duì)手)透露半點(diǎn)。</p><p>  PHP將如同暴風(fēng)雨一般席卷

49、整個(gè)世界,IT工業(yè)將為之震驚。PHP的力量在于它是跨平臺(tái)的,可以運(yùn)行在任何地方。如Linux,Windows 95/98/NT/2000/XP,Solaris,HPUX以及各種UNIX。PHP只需寫(xiě)一次,就可以配置在任何地方。PHP可以運(yùn)行在Apache,Microsoft IIS等多種Web服務(wù)器上。</p><p>  PHP比Java快5到20倍!實(shí)際的比較測(cè)試顯示,PHP的運(yùn)行速度是Java3.7倍左右。

50、PHP太容易使用了,你可以用它在非常短的時(shí)間里,非常迅速的開(kāi)發(fā)出非常復(fù)雜的web,e-commerce和一般的單機(jī)應(yīng)用程序。(在將來(lái),PHP將會(huì)模仿Java大多數(shù)的功能,相信Java程序員也會(huì)喜歡上它。PHP將包含Java中的關(guān)鍵字,如class,extends,interface, implements, public,protected, private 等。)</p><p>  PHP具有面向?qū)ο筇匦裕?/p>

51、吸收了Java, C++, PERL 和C的最優(yōu)秀的部分。PHP可以說(shuō)是所有腳本/編程語(yǔ)言中的寶石。不久,它就會(huì)成為全世界程序員的“麥加圣地”。PHP即可以運(yùn)行在Window95/NT/2000/XP上,也可以運(yùn)行在各種UNIX上。</p><p>  我們將大吃一驚——PHP極有可能成為21世紀(jì)的電腦編程語(yǔ)言。</p><p>  可以使用Zend Optimizer對(duì)PHP進(jìn)行編譯和優(yōu)

52、化,從而使它運(yùn)行的更好更快,PHP4.0中已經(jīng)集成了Zend Optimizer。 首先,你在開(kāi)發(fā)、測(cè)試、除錯(cuò)過(guò)程中,用PHP腳本語(yǔ)言編寫(xiě)你的應(yīng)用程序。一旦項(xiàng)目完成,你便可以用Zend編譯器,將PHP文件編譯成運(yùn)行速度更快的可執(zhí)行程序。</p><p>  PHP的發(fā)展前景越來(lái)越好,越來(lái)越多的人會(huì)選擇用PHP來(lái)設(shè)計(jì)網(wǎng)站,所以,PHP也許將來(lái)會(huì)是在網(wǎng)站界占據(jù)著領(lǐng)頭作用。</p><p>  

53、3.1.3 語(yǔ)言優(yōu)勢(shì)</p><p>  (1) 將內(nèi)容的生成和顯示進(jìn)行分離</p><p>  使用PHP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用HTML設(shè)計(jì)和格式化最終頁(yè)面顯示效果,使用PHP語(yǔ)言來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容,配合smarty模板引擎,將生成的內(nèi)容存儲(chǔ)在模板變量中,那么其他人,如Web管理人員和頁(yè)面設(shè)計(jì)者,只需要編輯或修改模板文件就可以讓網(wǎng)站有不同的顯示效果。</p>

54、<p><b>  (2)良好的安全性</b></p><p>  PHP是開(kāi)源軟件,所有PHP的源代碼每個(gè)人都可以看得到,代碼在許多工程師手中進(jìn)行了檢測(cè),同時(shí)它與Apache編繹在一起的方式也可以讓它具有靈活的安全設(shè)定,PHP具有了公認(rèn)的安全性能。 </p><p><b>  (3)跨平臺(tái)性</b></p><p

55、>  ASP比不上PHP的跨平臺(tái)能力,PHP幾乎支持所有的操作系統(tǒng)平臺(tái)及數(shù)據(jù)庫(kù)系統(tǒng),正是它的這種能力讓UNIX/Linux有了一種與ASP媲美的開(kāi)發(fā)語(yǔ)言,并廣為流行。</p><p><b>  (4)免費(fèi)</b></p><p>  在流行的企業(yè)應(yīng)用LAMP平臺(tái)中,PHP、Linux、Apache、MySQL都是免費(fèi)軟件,降低了企業(yè)架設(shè)成本。</p>

56、;<p>  3.1.4 操作可行性</p><p>  對(duì)于用戶來(lái)說(shuō),本開(kāi)發(fā)模板只要求使用者會(huì)打字并且能對(duì)文字做一些簡(jiǎn)單的編輯,經(jīng)過(guò)仔細(xì)設(shè)計(jì)和測(cè)試之后的系統(tǒng)具有操作簡(jiǎn)單,方便靈活等優(yōu)點(diǎn),足可以滿足各種用戶的不同需求,同時(shí)也方便了公司的內(nèi)部管理。管理人員及用戶一定會(huì)在短時(shí)間內(nèi)掌握并熟練使用。只要?jiǎng)右粍?dòng)鼠標(biāo)鍵盤(pán)就可以達(dá)到想要的效果。</p><p>  3.2 軟件可行性分析&

57、lt;/p><p>  3.2.1 開(kāi)發(fā)環(huán)境</p><p>  操作系統(tǒng):Windows 7 </p><p>  服務(wù)器軟件:Apache</p><p>  數(shù)據(jù)庫(kù):MySQL </p><p>  IDE:Zend Studio、EditPlus</p><p>  3.2.2 服務(wù)器環(huán)境&

58、lt;/p><p>  操作系統(tǒng):window7</p><p>  服務(wù)器軟件:Apache</p><p>  數(shù)據(jù)庫(kù):MySQL 5</p><p>  3.3 項(xiàng)目可行性分析</p><p>  3.3.1 B/S模式介紹</p><p>  本開(kāi)發(fā)模板采用B/S模式。</p>

59、<p>  B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO)。以

60、目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過(guò)Internet/Intranet模式下數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次性到位的開(kāi)發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN,WAN,Internet/Intranet等)訪問(wèn)和操作共同的數(shù)據(jù)庫(kù);它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問(wèn)權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全。特別是在跨平臺(tái)語(yǔ)言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。</p>

61、<p>  3.3.2 B/S模式的優(yōu)點(diǎn)</p><p><b>  維護(hù)和升級(jí)方式簡(jiǎn)單</b></p><p>  目前,軟件系統(tǒng)的改進(jìn)和升級(jí)越來(lái)越頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對(duì)一個(gè)稍微大一點(diǎn)單位來(lái)說(shuō),系統(tǒng)管理人員如果需要在幾百甚至上千部電腦之間來(lái)回奔跑,效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶端只

62、是瀏覽器,根本不需要做任何的維護(hù)。無(wú)論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會(huì)增加任何維護(hù)升級(jí)的工作量,所有的操作只需要針對(duì)服務(wù)器進(jìn)行;如果是異地,只需要把服務(wù)器連接專網(wǎng)即可,實(shí)現(xiàn)遠(yuǎn)程維護(hù)、升級(jí)和共享。所以客戶機(jī)越來(lái)越“瘦”,而服務(wù)器越來(lái)越“胖”是將來(lái)信息化發(fā)展的主流方向。今后,軟件升級(jí)和維護(hù)會(huì)越來(lái)越容易,而使用起來(lái)會(huì)越來(lái)越簡(jiǎn)單,這對(duì)用戶人力、物力、時(shí)間、費(fèi)用的節(jié)省是顯而易見(jiàn)的、驚人的。因此,維護(hù)和升級(jí)革命的方式是“瘦”客戶機(jī),“胖”服務(wù)

63、器。</p><p><b>  成本降低、選擇更多</b></p><p>  大家都知道windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標(biāo)準(zhǔn)配置,但在服務(wù)器操作系統(tǒng)上windows并不是處于絕對(duì)的統(tǒng)治地位?,F(xiàn)在的趨勢(shì)是凡使用B/S架構(gòu)的應(yīng)用管理軟件,只需安裝在Linux服務(wù)器上即可,而且安全性高,所以服務(wù)器操作系統(tǒng)的選擇是很多的,不管選用那種操作系統(tǒng)都可以讓大

64、部分人使用windows作為桌面操作系統(tǒng)電腦不受影響,這就使的最流行免費(fèi)的Linux操作系統(tǒng)快速發(fā)展起來(lái),Linux除了操作系統(tǒng)是免費(fèi)的以外,連數(shù)據(jù)庫(kù)也是免費(fèi)的,這種選擇非常盛行。</p><p><b>  3.4 功能性需求</b></p><p>  由于本開(kāi)發(fā)模板是在開(kāi)發(fā)關(guān)于廣東得信利農(nóng)林發(fā)展有限公司的企業(yè)網(wǎng)站的基礎(chǔ)上去設(shè)計(jì)與實(shí)現(xiàn)的,所以,以下的功能需求是以廣

65、東得信利農(nóng)林發(fā)展有限公司的需求為例。</p><p>  3.4.1 網(wǎng)站前臺(tái)功能</p><p>  由于大多數(shù)企業(yè)的網(wǎng)站只要用于宣傳和推廣,所以基本功能如下:</p><p><b> ?。?)網(wǎng)站首頁(yè)</b></p><p>  主要包括;圖片輪播、新聞列表、產(chǎn)品輪播、功能分區(qū)</p><p&g

66、t;<b> ?。?)關(guān)于我們</b></p><p>  主要包括:公司簡(jiǎn)介、公司歷史、公司文化、公司機(jī)構(gòu)</p><p><b>  (3)產(chǎn)品展示</b></p><p>  主要包括;產(chǎn)品列表、產(chǎn)品展示</p><p><b> ?。?)新聞中心</b></p&g

67、t;<p>  主要包括:公司新聞、行業(yè)新聞</p><p><b> ?。?)旅游資源</b></p><p><b>  主要包括:擴(kuò)展產(chǎn)業(yè)</b></p><p><b> ?。?)聯(lián)系我們</b></p><p>  主要包括:公司相關(guān)聯(lián)系信息</p

68、><p>  以下為本企業(yè)網(wǎng)站開(kāi)發(fā)模板的功能用例圖:</p><p><b>  圖3-1</b></p><p>  3.4.2網(wǎng)站后臺(tái)功能</p><p>  本企業(yè)開(kāi)發(fā)模板主要核心是在于網(wǎng)站的管理后臺(tái)。所以其核心功能如下;</p><p><b> ?。?)節(jié)點(diǎn)管理</b>

69、</p><p>  主要包括; 添加節(jié)點(diǎn)、修改節(jié)點(diǎn)、刪除節(jié)點(diǎn)</p><p><b> ?。?)角色管理</b></p><p>  主要包括;添加角色、修改角色、刪除角色、角色分配權(quán)限</p><p><b>  (3)用戶管理</b></p><p>  主要包括:添加

70、用戶、修改用戶、刪除用戶、用戶更改角色</p><p><b> ?。?)界面管理</b></p><p>  主要包括;設(shè)置前臺(tái)模板、內(nèi)容顯示,聯(lián)系信息、頁(yè)腳信息</p><p><b> ?。?)擴(kuò)展模塊</b></p><p>  主要包括:數(shù)據(jù)庫(kù)備份、數(shù)據(jù)庫(kù)還原、垃圾清理</p>

71、<p><b> ?。?)內(nèi)容管理</b></p><p>  主要包括:添加內(nèi)容、修改內(nèi)容、刪除內(nèi)容、審核內(nèi)容</p><p><b> ?。?)欄目管理</b></p><p>  主要包括:添加欄目、修改欄目、刪除欄目,設(shè)置導(dǎo)航</p><p><b>  (8)模型管

72、理</b></p><p>  主要包括:添加模型、修改模型、刪除模型、模型功能選擇</p><p><b>  (9)控制面板</b></p><p>  主要包括:添加、修改、刪除(提供二次開(kāi)發(fā))</p><p>  本項(xiàng)目的后臺(tái)的使用用例圖如下:</p><p><b>

73、;  圖3-2</b></p><p><b>  3.5非功能性需求</b></p><p>  3.5.1 后臺(tái)界面</p><p>  (1) 網(wǎng)站后臺(tái)要求結(jié)構(gòu)明了,能夠很容易找到想要操作的地方。</p><p>  (2) 后臺(tái)所填選項(xiàng)要有清楚說(shuō)明其作用、功能。</p><p>

74、;  (3) 每次提交操作之后要給出明確的提示,操作是否成功。</p><p>  3.5.2 前臺(tái)頁(yè)面</p><p> ?。?)界面要美觀,但又不能太復(fù)雜,內(nèi)容要突出。</p><p> ?。?)要能兼容目前主流的瀏覽器。</p><p> ?。?)前臺(tái)頁(yè)面還使用了響應(yīng)式技術(shù),這樣大大提高了用戶的體驗(yàn),從而達(dá)到了更好的宣傳效益。</

75、p><p><b>  第四章 概要設(shè)計(jì)</b></p><p>  概要設(shè)計(jì)是在需求分析的基礎(chǔ)上由抽象到具體的過(guò)程。內(nèi)容包括數(shù)據(jù)庫(kù)設(shè)計(jì)和系統(tǒng)結(jié)構(gòu)設(shè)計(jì)兩大部分。主要目標(biāo)是將系統(tǒng)分析階段所提出的反映了信息需求的系統(tǒng)邏輯方案轉(zhuǎn)換成可以實(shí)施的基于計(jì)算機(jī)與通信系統(tǒng)的物理(技術(shù))方案,為下一階段的詳細(xì)編碼提供必要的技術(shù)資料,應(yīng)符合系統(tǒng)性、靈活性、可靠性、經(jīng)濟(jì)性的要求。</p&

76、gt;<p><b>  4.1 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  4.1.1 數(shù)據(jù)庫(kù)設(shè)計(jì)概述</p><p>  數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的最新技術(shù)。十多年來(lái)數(shù)據(jù)庫(kù)管理系統(tǒng)已從專用的應(yīng)用程序發(fā)展成為通用的系統(tǒng)軟件。由于數(shù)據(jù)庫(kù)具有數(shù)據(jù)結(jié)構(gòu)化,最低冗余度,較高的程序與數(shù)據(jù)獨(dú)立性,易于擴(kuò)充,易于編制應(yīng)用程序等優(yōu)點(diǎn),較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫(kù)設(shè)計(jì)之上的。因此

77、不僅大型計(jì)算機(jī)及中小型計(jì)算機(jī),甚至微型機(jī)都配有數(shù)據(jù)庫(kù)管理系統(tǒng)。</p><p>  數(shù)據(jù)庫(kù)系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程序?yàn)橹行霓D(zhuǎn)向圍繞共享的數(shù)據(jù)庫(kù)為中心的新階段。這樣既便于數(shù)據(jù)的集中管理,又有利于應(yīng)用程序的研制和維護(hù),提高了數(shù)據(jù)的利用性和相容性,提高了決策的可靠性。目前,數(shù)據(jù)庫(kù)已經(jīng)成為現(xiàn)代信息系統(tǒng)不可分割的重要組成部分。數(shù)據(jù)庫(kù)技術(shù)也是計(jì)算機(jī)領(lǐng)域中發(fā)展最快的技術(shù)之一。</p><p>

78、;  數(shù)據(jù)庫(kù)設(shè)計(jì)是把現(xiàn)實(shí)世界的實(shí)體模型與需求轉(zhuǎn)換成數(shù)據(jù)庫(kù)的模型的過(guò)程,它是建立數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的核心問(wèn)題。數(shù)據(jù)庫(kù)及其應(yīng)用的性能都建立在良好的數(shù)據(jù)庫(kù)設(shè)計(jì)的基礎(chǔ)之上,數(shù)據(jù)庫(kù)的數(shù)據(jù)是一切操作的基礎(chǔ),如果數(shù)據(jù)庫(kù)設(shè)計(jì)不好,那么其它一切用于提高數(shù)據(jù)庫(kù)性能的方法收效都是有限的。數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵是如何使設(shè)計(jì)的數(shù)據(jù)庫(kù)能合理地存儲(chǔ)用戶的數(shù)據(jù),方便用戶進(jìn)行數(shù)據(jù)處理。</p><p>  設(shè)計(jì)數(shù)據(jù)庫(kù)必須遵循一定的規(guī)則,在關(guān)系型數(shù)據(jù)庫(kù)中,這

79、種規(guī)則就是范式,范式是符合某一種級(jí)別的關(guān)系模式的集合。一般人們?cè)O(shè)計(jì)數(shù)據(jù)庫(kù)遵循第三范式。即:數(shù)據(jù)庫(kù)表中不包含已在其他表中包含的非主關(guān)鍵字信息。采用范式減少了數(shù)據(jù)冗余,節(jié)約了存儲(chǔ)空間,同時(shí)加快了增、刪、改的速度。</p><p>  4.1.2 數(shù)據(jù)庫(kù)需求分析</p><p>  進(jìn)行整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)必須準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)和處理)。用戶需求分析是整個(gè)設(shè)計(jì)過(guò)程的基礎(chǔ),是最困難、最耗費(fèi)

80、時(shí)間的一步。作為最基本的需求分析做得是否充分與準(zhǔn)確,決定了在其構(gòu)建數(shù)據(jù)庫(kù)的速度和質(zhì)量。</p><p>  經(jīng)調(diào)查可知,由于大多數(shù)企業(yè)網(wǎng)站都是大同小異的,而用戶的需求具體體現(xiàn)在各種信息的提供、存儲(chǔ)、更新和查詢方面,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸出與輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。以上面的需求分析作為設(shè)計(jì)依據(jù),該企業(yè)網(wǎng)站應(yīng)該有以下幾個(gè)基本數(shù)據(jù)

81、表:</p><p>  (1)首先是權(quán)限管理方面的數(shù)據(jù)表</p><p>  1、用戶表:包括用戶的基本信息</p><p>  2、用戶組表:包括用戶的角色信息</p><p>  3、用戶-用戶組表:包括用戶的角色分配信息</p><p>  4、節(jié)點(diǎn)表:包括各個(gè)節(jié)點(diǎn)的信息</p><p>

82、;  5、節(jié)點(diǎn)-用戶組表:包括角色的具體權(quán)限信息</p><p>  (2)其他基本數(shù)據(jù)表</p><p>  1、欄目表:包括:后臺(tái)欄目及前臺(tái)導(dǎo)航信息</p><p>  2、模型表:包括不同的添加內(nèi)容模型</p><p>  3、功能表:包括添加內(nèi)容的一些添加工具:上傳功能、編輯器等</p><p>  4、內(nèi)容表

83、:包括企業(yè)新聞、商品、企業(yè)信息等</p><p>  5、文件表:包括商品圖片、附近等</p><p>  6、系統(tǒng)表:包括系統(tǒng)的一些基本設(shè)置信息</p><p>  7、樣式表:包括前臺(tái)的一些樣式設(shè)置信息</p><p>  8、配置表:包括網(wǎng)站的一些基本配置信息</p><p>  9、前臺(tái)模塊表:包括前臺(tái)不同內(nèi)容

84、顯示的模塊</p><p>  10、前臺(tái)欄目:包括前臺(tái)的新聞列表、商品列表等</p><p>  11、前臺(tái)欄目-欄目表:包括前臺(tái)欄目與后臺(tái)欄目的關(guān)系信息</p><p>  4.1.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p>  概念結(jié)構(gòu)設(shè)計(jì)是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。概念結(jié)構(gòu)獨(dú)立于數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),也獨(dú)立與所使用的具體的數(shù)據(jù)庫(kù)管理系統(tǒng)。概念模型(E

85、-R模型)的組成元素有:實(shí)體、屬性、聯(lián)系,E-R模型用E-R圖表示。實(shí)體是用戶工作環(huán)境中所涉及的事務(wù),屬性是對(duì)實(shí)體特征的描述。</p><p>  模型中的實(shí)體相當(dāng)于一個(gè)實(shí)體集、一個(gè)表。實(shí)體用矩形框表示,實(shí)體名稱標(biāo)注在矩形框內(nèi)。用菱形表示實(shí)體間的聯(lián)系,菱形框內(nèi)寫(xiě)上聯(lián)系名,用無(wú)向邊把菱形分別與有關(guān)實(shí)體相連接,在無(wú)向邊旁標(biāo)上聯(lián)系的類(lèi)型。</p><p>  屬性是實(shí)體的性質(zhì)。用橢圓框表示,與實(shí)

86、體之間用一條線相連,表的主碼是關(guān)鍵屬性,關(guān)鍵屬性項(xiàng)加下劃線。</p><p>  各子系統(tǒng)模塊中主鍵相同的字段之間存在著相互關(guān)聯(lián)的關(guān)系。</p><p>  在程序中實(shí)現(xiàn)對(duì)他們的完整性和一致性控制。</p><p>  E-R模型的組成元素有:實(shí)體、屬性、聯(lián)系。E-R模型用E-R圖來(lái)表示。實(shí)體是用戶工作環(huán)境中所涉及的事物,屬性是對(duì)實(shí)體特征的描述。</p>

87、<p>  在此,首先是關(guān)于權(quán)限管理方面的實(shí)體圖:</p><p>  圖4-1 用戶實(shí)體圖</p><p>  圖4-2用戶組實(shí)體圖</p><p><b>  圖4-3節(jié)點(diǎn)實(shí)體圖</b></p><p>  下面是其他方面的實(shí)體圖:</p><p><b>  圖4-4

88、欄目實(shí)體圖</b></p><p><b>  圖4-5模型實(shí)體圖</b></p><p><b>  圖4-6功能實(shí)體圖</b></p><p><b>  圖4-7內(nèi)容實(shí)體圖</b></p><p><b>  圖4-8文件實(shí)體圖</b>&

89、lt;/p><p><b>  圖4-9系統(tǒng)實(shí)體圖</b></p><p>  圖4-10樣式實(shí)體圖</p><p>  圖4-11配置實(shí)體圖</p><p>  圖4-12前臺(tái)模塊實(shí)體圖</p><p>  圖4-13前臺(tái)欄目實(shí)體圖</p><p>  本企業(yè)網(wǎng)站開(kāi)發(fā)模板整體

90、E-R圖如下:</p><p>  圖4-14 本開(kāi)發(fā)模板整體E-R圖</p><p>  4.1.4 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)</p><p>  在實(shí)際設(shè)計(jì)的時(shí)候需要考慮到一些系統(tǒng)的性能、負(fù)載問(wèn)題,所以數(shù)據(jù)庫(kù)的設(shè)計(jì)要求更加細(xì)致,下面對(duì)每個(gè)表進(jìn)行詳細(xì)的設(shè)計(jì),即數(shù)據(jù)字典。</p><p> ?。?)think_access表</p>

91、<p><b>  相關(guān)索引</b></p><p>  (2)think_column表</p><p><b>  相關(guān)索引</b></p><p> ?。?)think_config表</p><p><b>  相關(guān)索引</b></p><

92、p> ?。?)think_content表</p><p><b>  相關(guān)索引</b></p><p> ?。?)think_file表</p><p><b>  相關(guān)索引</b></p><p> ?。?)think_homemodel表</p><p><

93、b>  相關(guān)索引</b></p><p>  (7)think_node表</p><p><b>  相關(guān)索引</b></p><p> ?。?)think_panel表</p><p><b>  相關(guān)索引</b></p><p> ?。?)think_

94、role表</p><p><b>  相關(guān)索引</b></p><p> ?。?0)think_role_user表</p><p><b>  相關(guān)索引</b></p><p>  (11)think_style表</p><p><b>  相關(guān)索引</

95、b></p><p>  (12)think_system表</p><p><b>  相關(guān)索引</b></p><p> ?。?3)think_template表</p><p><b>  相關(guān)索引</b></p><p> ?。?4)think_user表<

96、;/p><p><b>  相關(guān)索引</b></p><p>  (15)think_way表</p><p><b>  相關(guān)索引</b></p><p> ?。?6)think_way_column表</p><p>  4.2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)</p><p

97、>  4.2.1本網(wǎng)站開(kāi)發(fā)模板架構(gòu)方案</p><p>  本中小型企業(yè)網(wǎng)站開(kāi)發(fā)模板采用現(xiàn)在比較流行,比較成熟的ThinkPHP 3.1.2開(kāi)源框架技術(shù)。ThinkPHP是一個(gè)免費(fèi)開(kāi)源的,快速、簡(jiǎn)單的面向?qū)ο蟮妮p量級(jí)PHP開(kāi)發(fā)框架,遵循Apache2開(kāi)源協(xié)議發(fā)布,是為了敏捷WEB應(yīng)用開(kāi)發(fā)和簡(jiǎn)化企業(yè)級(jí)應(yīng)用開(kāi)發(fā)而誕生的。ThinkPHP借鑒了國(guó)外很多優(yōu)秀的框架和模式,使用面向?qū)ο蟮拈_(kāi)發(fā)結(jié)構(gòu)和MVC模式,采用單一

98、入口模式等,融合了Struts的Action思想和JSP的TagLib(標(biāo)簽庫(kù))、RoR的ORM映射和ActiveRecord模式,封裝了CURD和一些常用操作,在項(xiàng)目配置、類(lèi)庫(kù)導(dǎo)入、模版引擎、查詢語(yǔ)言、自動(dòng)驗(yàn)證、視圖模型、項(xiàng)目編譯、緩存機(jī)制、SEO支持、分布式數(shù)據(jù)庫(kù)、多數(shù)據(jù)庫(kù)連接和切換、認(rèn)證機(jī)制和擴(kuò)展性方面均有獨(dú)特的表現(xiàn)。</p><p>  本網(wǎng)站開(kāi)發(fā)模板體系結(jié)構(gòu)如圖3所示:</p><p

99、>  圖4-15 本網(wǎng)站開(kāi)發(fā)模板MVC體系架構(gòu)</p><p>  MVC 是一種將應(yīng)用程序的邏輯層和表現(xiàn)層進(jìn)行分離的方法。ThinkPHP 也是基于MVC設(shè)計(jì)模式的。MVC只是一個(gè)抽象的概念, ThinkPHP中的MVC分層大致體現(xiàn)在:</p><p>  模型(M):模型的定義由Model類(lèi)來(lái)完成。</p><p>  控制器(C):應(yīng)用控制器(核心控制

100、器App類(lèi))和Action控制器都承擔(dān)了控制器的角色,Action控制器完成業(yè)務(wù)過(guò)程控制,而應(yīng)用控制器負(fù)責(zé)調(diào)度控制。</p><p>  視圖(V):由View類(lèi)和模板文件組成,模板做到了100%分離,可以獨(dú)立預(yù)覽和制作。</p><p>  4.2.2系統(tǒng)架構(gòu)總統(tǒng)設(shè)計(jì)</p><p><b>  第五章 詳細(xì)設(shè)計(jì)</b></p>

101、<p>  系統(tǒng)詳細(xì)設(shè)計(jì)就是按照前面進(jìn)行的種種分析,把各種需求使用程序語(yǔ)言實(shí)現(xiàn)的過(guò)程。這部分將會(huì)對(duì)某些關(guān)鍵技術(shù)做出詳細(xì)的描述,包括代碼段的講解、運(yùn)行原理的細(xì)述和顯示效果的展示。</p><p>  5.1系統(tǒng)公共文件核心代碼</p><p>  5.1.1公共配置文件及入口文件</p><p>  本網(wǎng)站開(kāi)發(fā)模板的數(shù)據(jù)庫(kù)連接全都依賴于config.inc

102、.php文件,這個(gè)文件對(duì)系統(tǒng)正常運(yùn)行所需要的一些數(shù)據(jù)庫(kù)連接操作,同時(shí)還有一些常量的定義。</p><p><b>  <?php</b></p><p>  return array(</p><p>  //'配置項(xiàng)'=>'配置值'</p><p>  'DB_TYP

103、E'=>'mysql', //設(shè)置數(shù)據(jù)庫(kù)類(lèi)型</p><p>  'DB_HOST'=>'localhost',//設(shè)置主機(jī)</p><p>  'DB_NAME'=>'cbmdb',//設(shè)置數(shù)據(jù)庫(kù)名</p><p>  'DB_USER'=

104、>'root', //設(shè)置用戶名</p><p>  'DB_PWD'=>'', //設(shè)置密碼</p><p>  'DB_PORT'=>'3306', //設(shè)置端口號(hào)</p><p>  'DB_PREFIX'=>'

105、;think_', //設(shè)置表前綴</p><p>  'DB_BACKUP'=>'./public/backup/',</p><p><b>  );</b></p><p><b>  ?></b></p><p>  本網(wǎng)站開(kāi)發(fā)模板可通過(guò)

106、修改該配置來(lái)連接相應(yīng)的服務(wù)器下的數(shù)據(jù)庫(kù),同生也可定義一些項(xiàng)目中需要定義的常量。</p><p><b>  前臺(tái)入口:</b></p><p><b>  <?php</b></p><p><b>  //框架入口文件</b></p><p>  define('

107、;APP_NAME', 'Home'); //確定前臺(tái)應(yīng)用文件</p><p>  define('APP_PATH', './Home/'); //確定前臺(tái)應(yīng)用路徑</p><p>  define('APP_DEBUG',true); //開(kāi)啟調(diào)試模式</p><p>  re

108、quire './ThinkPHP/ThinkPHP.php'; //引入核心文件</p><p><b>  ?></b></p><p><b>  后臺(tái)入口:</b></p><p><b>  <?php</b></p><p><b

109、>  //框架入口文件</b></p><p>  define('APP_NAME', 'Admin'); //確定前臺(tái)應(yīng)用文件</p><p>  define('APP_PATH', './Admin/'); //確定前臺(tái)應(yīng)用路徑</p><p>  define(

110、9;APP_DEBUG',true); //開(kāi)啟調(diào)試模式</p><p>  require './ThinkPHP/ThinkPHP.php'; //引入核心文件</p><p><b>  ?></b></p><p>  定義以上的入口文件,可通過(guò)定義不同的入口文件來(lái)實(shí)現(xiàn)怎樣進(jìn)入相應(yīng)的前臺(tái)或后臺(tái)。&l

111、t;/p><p>  5.1.2后臺(tái)權(quán)限控制實(shí)現(xiàn)</p><p>  本網(wǎng)站開(kāi)發(fā)模板后臺(tái)使用了thinkphp中的rbac管理權(quán)限機(jī)制,后臺(tái)管理員登陸須經(jīng)過(guò)一系列的驗(yàn)證方可進(jìn)入后臺(tái)。</p><p><b>  權(quán)限檢測(cè)接口:</b></p><p>  function _initialize() {</p>

112、<p><b>  // 用戶權(quán)限檢查</b></p><p>  if (C ( 'USER_AUTH_ON' ) && !in_array(MODULE_NAME,explode(',',C('NOT_AUTH_MODULE')))) {</p><p>  import ( 'O

113、RG.Util.RBAC' );</p><p>  if (! RBAC::AccessDecision ()) {</p><p><b>  //檢查認(rèn)證識(shí)別號(hào)</b></p><p>  if (! $_SESSION [C ( 'USER_AUTH_KEY' )]) {</p><p>

114、<b>  //跳轉(zhuǎn)到認(rèn)證網(wǎng)關(guān)</b></p><p>  redirect ( PHP_FILE . C ( 'USER_AUTH_GATEWAY' ) );</p><p><b>  }</b></p><p>  // 沒(méi)有權(quán)限 拋出錯(cuò)誤</p><p>  if (C (

115、'RBAC_ERROR_PAGE' )) {</p><p>  // 定義權(quán)限錯(cuò)誤頁(yè)面</p><p>  redirect ( C ( 'RBAC_ERROR_PAGE' ) );</p><p><b>  } else {</b></p><p>  if (C ( 'GU

116、EST_AUTH_ON' )) {</p><p>  $this->assign ( 'jumpUrl', PHP_FILE . C ( 'USER_AUTH_GATEWAY' ) );</p><p><b>  }</b></p><p><b>  // 提示錯(cuò)誤信息</b&

117、gt;</p><p>  $this->error ( L ( '_VALID_ACCESS_' ) );</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p>&l

118、t;p><b>  }</b></p><p>  以上的權(quán)限檢測(cè)是通過(guò)rbac機(jī)制中設(shè)計(jì)的權(quán)限表之間的關(guān)系來(lái)判斷登陸的用戶是屬于哪種類(lèi)型,從而給出相應(yīng)的管理權(quán)限。</p><p>  5.2 網(wǎng)站管理后臺(tái)</p><p>  5.2.1 后臺(tái)總體界面</p><p><b>  圖5-1</b&g

119、t;</p><p>  5.2.2 管理員登錄</p><p><b>  圖5-2</b></p><p>  后臺(tái)管理員登陸啟用了驗(yàn)證碼技術(shù),減少一些惡意程序?qū)笈_(tái)進(jìn)行惡意登錄嘗試,由于驗(yàn)證碼的存在,每次都需要驗(yàn)證提交的驗(yàn)證碼是否與動(dòng)態(tài)產(chǎn)生的session里的值一致,如不一致將直接不判斷用戶名和密碼,返回登錄界面。</p>

120、<p>  下面是一些具體實(shí)現(xiàn)這個(gè)功能的代碼:</p><p><b>  /**</b></p><p><b>  * 用戶登錄頁(yè)面</b></p><p><b>  */</b></p><p>  public function login() {</

121、p><p>  $this->lock_file = './Public/tmp/install.lock';</p><p>  if(!file_exists($this->lock_file)){ //修改(!APP_DEBUG)</p><p>  $this->redirect(U('Install/index

122、9;));</p><p><b>  }</b></p><p>  if(!isset($_SESSION[C('USER_AUTH_KEY')])) {</p><p>  $config=M('Config');</p><p>  $where['name']=&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論