版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 某某學(xué)院</b></p><p><b> 畢業(yè)論文</b></p><p> 題目: 基于ThinkPHP框架的中小型企業(yè) </p><p> 網(wǎng)站開發(fā)模板的設(shè)計(jì)與實(shí)現(xiàn) </p><p> 姓名:
2、 </p><p> 學(xué)號: </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)主要功能都是大同小異的。這說明大多數(shù)中小型企業(yè)的網(wǎng)站建設(shè)核心基本上是一致的。在當(dāng)今瞬機(jī)萬變的市場環(huán)境中,快速高效開發(fā)
4、是解決問題的關(guān)鍵。對于網(wǎng)站設(shè)計(jì)者來說,面對大同小異的網(wǎng)站建設(shè)需求,這無非就是設(shè)計(jì)一個(gè)適合大多數(shù)中小型企業(yè)網(wǎng)站建設(shè)模板以及企業(yè)信息管理的數(shù)據(jù)庫。在快速高效開發(fā)方面, MVC模式開發(fā)可提高開發(fā)效率與質(zhì)量,而ThinkPHP框架秉承了LAMP架構(gòu)的優(yōu)勢,嚴(yán)格遵循MVC設(shè)計(jì)模式,使用RBAC權(quán)限機(jī)制,具有輕量級、擴(kuò)展性強(qiáng)、等優(yōu)勢,它正符合以上的開發(fā)特點(diǎn)。</p><p> 通過對中小型企業(yè)的網(wǎng)站建設(shè)需要和面向WEB開發(fā)
5、語言的研究,我自主研發(fā)了一個(gè)面向中小型企業(yè)的網(wǎng)站通用模板。該模板采用了Thinkphp+MYSQL作為技術(shù)基礎(chǔ)進(jìn)行開發(fā)。采用MVC的開發(fā)模式,模塊化開發(fā)方式作為功能開發(fā)形式。本框架易于功能擴(kuò)展,代碼維護(hù),具有優(yōu)秀的二次開發(fā)能力,為廣大中小型網(wǎng)站用戶提供了優(yōu)秀的、全方位的企業(yè)網(wǎng)站。</p><p> 因此,結(jié)合ThinkPHP框架與MySQL數(shù)據(jù)庫的開發(fā)模式,建立一個(gè)面向中小型企業(yè)的網(wǎng)站通用模板,從而促使企業(yè)網(wǎng)站
6、在開發(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框架簡介3</p><p> 2.2 Mysql數(shù)據(jù)庫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 市場可行性5</p><p> 3.1.3 語言優(yōu)勢6</p><p> 3.1.4 操作可行性6</p><p> 3.2 軟件可行性分析6</p><p> 3.2.1 開發(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)頁面10</p><p> 第四章 概要設(shè)計(jì)11</p><p> 4.1 數(shù)據(jù)庫設(shè)計(jì)11</p><p> 4.1
20、.1 數(shù)據(jù)庫設(shè)計(jì)概述11</p><p> 4.1.2 數(shù)據(jù)庫需求分析11</p><p> 4.1.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)12</p><p> 4.1.4 數(shù)據(jù)庫物理結(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)站開發(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ù)庫備份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)首頁39</p><p> 5.3.2 企業(yè)簡介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)測試46</p><p> 6.1 測試概要46</p><p> 6.2 測試模型46</p><p> 6.3 功能測試46</p>&
25、lt;p> 6.3.1硬件配置與測試方法47</p><p> 6.3.2具體功能測試48</p><p> 6.3.3測試執(zhí)行情況53</p><p> 6.5 測試結(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的最早起源于美國國防部高級研究計(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ā)展起來的ARPAnet網(wǎng)絡(luò)。最初,ARPAnet主要是用于軍事研究目的,它主要是基于這樣的指導(dǎo)思想:網(wǎng)絡(luò)必須經(jīng)受得住故障的考驗(yàn)而維持正常的工作,一旦發(fā)生戰(zhàn)爭,當(dāng)網(wǎng)絡(luò)的某一部分因遭受攻擊而失去工作能力時(shí),網(wǎng)絡(luò)的其他部分應(yīng)能維持正常的通信工作。ARPAnet在技術(shù)上的另一個(gè)重大貢獻(xiàn)是TCP/IP協(xié)議簇的開發(fā)和利用。作為Internet的早期骨干網(wǎng),ARPAnet的試驗(yàn)并奠
29、定了Internet存在和發(fā)展的基礎(chǔ),較好地解決了異種機(jī)網(wǎng)絡(luò)互聯(lián)的一系列理論和技術(shù)問題。</p><p> 1983年,ARPAnet分裂為兩部分,ARPAnet和純軍事用的MILNET。同時(shí),局域網(wǎng)和廣域網(wǎng)的產(chǎn)生和逢勃發(fā)展對Internet的進(jìn)一步發(fā)展起了重要的作用。其中最引人注目的是美國國家科學(xué)基金會(huì)ASF(National Science Foundation)建立的NSFnet。NSF在全美國建立了按地
30、區(qū)劃分的計(jì)算機(jī)廣域網(wǎng)并將這些地區(qū)網(wǎng)絡(luò)和超級計(jì)算機(jī)中心互聯(lián)起來。NFSnet于1990年6月徹底取代了ARPAnet而成為Internet的主干網(wǎng)。</p><p> NSFnet對Internet的最大貢獻(xiàn)是使Internet向全社會(huì)開放,而不象以前的那樣僅供計(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級主干網(wǎng),它能以45Mbps的速率傳送數(shù)據(jù)。到1991年底,NSFnet的全部主干網(wǎng)都與ANS提供的T3級主干網(wǎng)相聯(lián)通。</p><p> Internet的第二次飛躍歸功于Internet的商業(yè)化,商業(yè)機(jī)構(gòu)一踏入Internet這一陌生世界,很快發(fā)現(xiàn)了它在通信、資料檢索、客戶服務(wù)等方面的巨大潛力。于是世界各地的無數(shù)企業(yè)紛紛涌入
32、Internet,帶來了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)上購物、收發(fā)電子郵件,
33、享受遠(yuǎn)程醫(yī)療和遠(yuǎn)程教育等等。</p><p> Internet的意義并不在于它的規(guī)模,而在于它提供了一種全新的全球性的信息基礎(chǔ)設(shè)施。當(dāng)今世界正向知識經(jīng)濟(jì)時(shí)代邁進(jìn),信息產(chǎn)業(yè)已經(jīng)發(fā)展成為世界發(fā)達(dá)國家的新的支柱產(chǎn)業(yè),成為推動(dòng)世界經(jīng)濟(jì)高速發(fā)展的新的源動(dòng)力,并且廣泛滲透到各個(gè)領(lǐng)域,特別是近幾年來國際互聯(lián)網(wǎng)絡(luò)及其應(yīng)用的發(fā)展,從根本上改變了人們的思想觀念和生產(chǎn)生活方式,推動(dòng)了各行各業(yè)的發(fā)展,并且成為知識經(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ò)以其無可比擬的優(yōu)勢向人們暗示著巨大的和潛在的商業(yè)利益。與傳統(tǒng)的商業(yè)行為相比,它可提供資源豐富、迅速及時(shí)的商業(yè)信息,它的客戶與市場遍及世界上每個(gè)角落,使很不起眼的小企業(yè)可以一下子變成“跨國公司”。</p>
35、<p> 成千上萬的大小企業(yè)紛紛加入到Internet 這個(gè)神奇的淘金王國中。Internet正以驚人的速度發(fā)展,它的普及意味著企業(yè)網(wǎng)絡(luò)時(shí)代的來臨,意味著企業(yè)生存方式、組織方式、工作方式的變革。它正在為企業(yè)提供一種全新的市場概念,正在改寫商業(yè)社會(huì)的規(guī)則,正在給各行各業(yè)的人們帶來新的機(jī)會(huì)和挑戰(zhàn)。未來的商業(yè)競爭就是信息的競爭,企業(yè)進(jìn)入網(wǎng)絡(luò)空間已是刻不容緩。</p><p> 1.4 企業(yè)為什么要建立網(wǎng)站
36、</p><p> 很多企業(yè)由于缺乏技術(shù)人員等原因無法建立自己的網(wǎng)站,導(dǎo)致了在新的競爭形勢中的失利。是否擁有自己的網(wǎng)站已經(jīng)成為衡量一個(gè)企業(yè)綜合素質(zhì)的重要標(biāo)志</p><p> 企業(yè)網(wǎng)站的具體作用:</p><p> A.通過網(wǎng)站展示企業(yè)風(fēng)采、傳播企業(yè)文化、樹立企業(yè)形象、提高企業(yè)知明度。</p><p> B.通過網(wǎng)站可介紹企業(yè)的基本情
37、況,使經(jīng)銷商和用戶更多的知道您的存在。 </p><p> C.通過網(wǎng)站可以宣傳您的產(chǎn)品和服務(wù)的優(yōu)勢,讓經(jīng)銷商和用戶在比較中了解您、走近您、直到選擇您。</p><p> D.通過網(wǎng)站您可以利用電子信箱經(jīng)濟(jì)而又快捷地與外界進(jìn)行各種信息溝。 </p><p> E.通過網(wǎng)站您可以尋求合資與合作。</p><p> 第二章 ThinkPH
38、P框架及相關(guān)技術(shù)</p><p> 由于在如今互聯(lián)網(wǎng)快速發(fā)展的時(shí)代里,講究的是一個(gè)快字,企業(yè)的業(yè)務(wù)更新更是需要快速,因此,對于本中小型企業(yè)網(wǎng)站開發(fā)模板的設(shè)計(jì)與實(shí)現(xiàn),我采用了在web開發(fā)方面比較流行的腳本語言PHP。而ThinkPHP是php腳本語言中一個(gè)較為流行的框架,所以,本項(xiàng)目采用了ThinkPHP框架、Mysql數(shù)據(jù)庫和Apache服務(wù)器來開發(fā)的。</p><p> 2.1 Th
39、inkPHP框架簡介</p><p> ThinkPHP可以更方便和快捷的開發(fā)和部署應(yīng)用。其不僅僅是企業(yè)級應(yīng)用,任何PHP應(yīng)用開發(fā)都可以從ThinkPHP的簡單和快速的特性中受益。ThinkPHP本身具有很多的原創(chuàng)特性,并且倡導(dǎo)大道至簡,開發(fā)由我的開發(fā)理念,用最少的代碼完成更多的功能,宗旨就是讓W(xué)eb應(yīng)用開發(fā)更簡單、更快速。 </p><p> ThinkPHP遵循Apach
40、e2開源許可協(xié)議發(fā)布,意味著可以免費(fèi)使用ThinkPHP,甚至允許把基于ThinkPHP開發(fā)的應(yīng)用開源或商業(yè)產(chǎn)品發(fā)布/銷售。 </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ù)庫。 </p>
41、<p> ThinkPHP是一個(gè)免費(fèi)開源、快捷、簡單的OOP輕量級PHP開發(fā)框架。它遵循Apache 2開源協(xié)議發(fā)布。是為了敏捷的企業(yè)級開發(fā)而誕生的。獲取ThinkPHP的方式有很多。</p><p> 2.2 Mysql數(shù)據(jù)庫</p><p> MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。目前MySQL被廣泛地應(yīng)用在Intern
42、et上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。</p><p> 2.3 Apache概述</p><p> Apache,一種開放源碼的HTTP服務(wù)器,可以在大多數(shù)計(jì)算機(jī)操作系統(tǒng)中運(yùn)行,由于其多平臺(tái)和安全性(注1)被廣泛使用,是最流行的Web服務(wù)器端軟件之一。它快速、可靠并且
43、可通過簡單的API擴(kuò)展,Perl/Python等解釋器可被編譯到服務(wù)器中。</p><p> 縱觀Apache,它為我們的網(wǎng)絡(luò)管理員提供了豐富多彩的功能,包括目錄索引、目錄別名、內(nèi)容協(xié)商、可配置的HTTP錯(cuò)誤報(bào)告、CGI程序的SetUID執(zhí)行、子進(jìn)程資源管理、服務(wù)器端圖象映射、重寫URL、URL拼寫檢查以及聯(lián)機(jī)手冊man等。也就是說,如果您在Linux Server上成功安裝配置了Apache之后,您的計(jì)算機(jī)也
44、將隨著Apache的生效而搖身一變,成為一臺(tái)名副其實(shí)的Web Server,這種變化的確是激動(dòng)人心的。伴隨著自由軟件發(fā)展的強(qiáng)大動(dòng)力,我們有理由相信Apache的未來是一片光明的。</p><p><b> 第三章 需求分析</b></p><p> 在開始寫本開發(fā)模板需求之前,我們需要對本開發(fā)模板的可行性進(jìn)行分析,如果確實(shí)可行才能繼續(xù)實(shí)施,否則將會(huì)產(chǎn)生一些額外的損
45、失??尚行苑治龅娜蝿?wù)是從技術(shù)上、經(jīng)濟(jì)上、社會(huì)上、法律上分析需要解決的問題是否存在可行的解。同時(shí)也要對需要實(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年代的美國,它在近幾年迅速風(fēng)靡全球,其根本原因不僅在于她擁有卓越的國際通信功能,更在于它擁有巨大的信息資源。所謂的Internet是指由分布在全世界成千上萬的計(jì)算機(jī)網(wǎng)絡(luò)遵循一定的通訊協(xié)議,并相互聯(lián)系在一起而形成的國際互連網(wǎng)絡(luò),也就是說,Internet是建立和使用這些網(wǎng)絡(luò)的人群、群體、公司以及各種網(wǎng)絡(luò)資源的集合體。</p><p> 隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,單純的靜態(tài)頁面已經(jīng)不能滿足發(fā)展的需要,因?yàn)殪o
47、態(tài)頁面是用單純的HTML語言組成的,它沒有交互性。因此,為了滿足實(shí)際的需要,許多網(wǎng)頁文件擴(kuò)展名不再只是"htm"、"html",出現(xiàn)了以"php"、"asp"、"jsp"、"shtml"等為后綴的網(wǎng)頁文件,這些都是采用動(dòng)態(tài)網(wǎng)頁技術(shù)制作出來的。</p><p> 3.1.2 市場可行性</
48、p><p> 以前,世界上許多公司都把PHP當(dāng)作是一個(gè)“高度機(jī)密,嚴(yán)格保密”的電腦程序語言,但是現(xiàn)在它已經(jīng)變成最為著名的,在Web, Internet, E-commerce以及 B2B等諸多項(xiàng)目上應(yīng)用最廣泛的面向?qū)ο蟮哪_本語言。即使是在今天,仍有許多競爭性(competing)公司把PHP當(dāng)作是高度機(jī)密的東西,決不向外界(競爭對手)透露半點(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只需寫一次,就可以配置在任何地方。PHP可以運(yùn)行在Apache,Microsoft IIS等多種Web服務(wù)器上。</p><p> PHP比Java快5到20倍!實(shí)際的比較測試顯示,PHP的運(yùn)行速度是Java3.7倍左右。
50、PHP太容易使用了,你可以用它在非常短的時(shí)間里,非常迅速的開發(fā)出非常復(fù)雜的web,e-commerce和一般的單機(jī)應(yīng)用程序。(在將來,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可以說是所有腳本/編程語言中的寶石。不久,它就會(huì)成為全世界程序員的“麥加圣地”。PHP即可以運(yùn)行在Window95/NT/2000/XP上,也可以運(yùn)行在各種UNIX上。</p><p> 我們將大吃一驚——PHP極有可能成為21世紀(jì)的電腦編程語言。</p><p> 可以使用Zend Optimizer對PHP進(jìn)行編譯和優(yōu)
52、化,從而使它運(yùn)行的更好更快,PHP4.0中已經(jīng)集成了Zend Optimizer。 首先,你在開發(fā)、測試、除錯(cuò)過程中,用PHP腳本語言編寫你的應(yīng)用程序。一旦項(xiàng)目完成,你便可以用Zend編譯器,將PHP文件編譯成運(yùn)行速度更快的可執(zhí)行程序。</p><p> PHP的發(fā)展前景越來越好,越來越多的人會(huì)選擇用PHP來設(shè)計(jì)網(wǎng)站,所以,PHP也許將來會(huì)是在網(wǎng)站界占據(jù)著領(lǐng)頭作用。</p><p>
53、3.1.3 語言優(yōu)勢</p><p> (1) 將內(nèi)容的生成和顯示進(jìn)行分離</p><p> 使用PHP技術(shù),Web頁面開發(fā)人員可以使用HTML設(shè)計(jì)和格式化最終頁面顯示效果,使用PHP語言來生成頁面上的動(dòng)態(tài)內(nèi)容,配合smarty模板引擎,將生成的內(nèi)容存儲(chǔ)在模板變量中,那么其他人,如Web管理人員和頁面設(shè)計(jì)者,只需要編輯或修改模板文件就可以讓網(wǎng)站有不同的顯示效果。</p>
54、<p><b> (2)良好的安全性</b></p><p> PHP是開源軟件,所有PHP的源代碼每個(gè)人都可以看得到,代碼在許多工程師手中進(jìn)行了檢測,同時(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ù)庫系統(tǒng),正是它的這種能力讓UNIX/Linux有了一種與ASP媲美的開發(fā)語言,并廣為流行。</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> 對于用戶來說,本開發(fā)模板只要求使用者會(huì)打字并且能對文字做一些簡單的編輯,經(jīng)過仔細(xì)設(shè)計(jì)和測試之后的系統(tǒng)具有操作簡單,方便靈活等優(yōu)點(diǎn),足可以滿足各種用戶的不同需求,同時(shí)也方便了公司的內(nèi)部管理。管理人員及用戶一定會(huì)在短時(shí)間內(nèi)掌握并熟練使用。只要?jiǎng)右粍?dòng)鼠標(biāo)鍵盤就可以達(dá)到想要的效果。</p><p> 3.2 軟件可行性分析&
57、lt;/p><p> 3.2.1 開發(fā)環(huán)境</p><p> 操作系統(tǒng):Windows 7 </p><p> 服務(wù)器軟件:Apache</p><p> 數(shù)據(jù)庫: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ù)庫:MySQL 5</p><p> 3.3 項(xiàng)目可行性分析</p><p> 3.3.1 B/S模式介紹</p><p> 本開發(fā)模板采用B/S模式。</p>
59、<p> B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級的成本和工作量,降低了用戶的總體成本(TCO)。以
60、目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過Internet/Intranet模式下數(shù)據(jù)庫應(yīng)用,相對易于把握、成本也是較低的。它是一次性到位的開發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN,WAN,Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全。特別是在跨平臺(tái)語言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。</p>
61、<p> 3.3.2 B/S模式的優(yōu)點(diǎn)</p><p><b> 維護(hù)和升級方式簡單</b></p><p> 目前,軟件系統(tǒng)的改進(jìn)和升級越來越頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對一個(gè)稍微大一點(diǎn)單位來說,系統(tǒng)管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶端只
62、是瀏覽器,根本不需要做任何的維護(hù)。無論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會(huì)增加任何維護(hù)升級的工作量,所有的操作只需要針對服務(wù)器進(jìn)行;如果是異地,只需要把服務(wù)器連接專網(wǎng)即可,實(shí)現(xiàn)遠(yuǎn)程維護(hù)、升級和共享。所以客戶機(jī)越來越“瘦”,而服務(wù)器越來越“胖”是將來信息化發(fā)展的主流方向。今后,軟件升級和維護(hù)會(huì)越來越容易,而使用起來會(huì)越來越簡單,這對用戶人力、物力、時(shí)間、費(fèi)用的節(jié)省是顯而易見的、驚人的。因此,維護(hù)和升級革命的方式是“瘦”客戶機(jī),“胖”服務(wù)
63、器。</p><p><b> 成本降低、選擇更多</b></p><p> 大家都知道windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標(biāo)準(zhǔn)配置,但在服務(wù)器操作系統(tǒng)上windows并不是處于絕對的統(tǒng)治地位。現(xiàn)在的趨勢是凡使用B/S架構(gòu)的應(yīng)用管理軟件,只需安裝在Linux服務(wù)器上即可,而且安全性高,所以服務(wù)器操作系統(tǒng)的選擇是很多的,不管選用那種操作系統(tǒng)都可以讓大
64、部分人使用windows作為桌面操作系統(tǒng)電腦不受影響,這就使的最流行免費(fèi)的Linux操作系統(tǒng)快速發(fā)展起來,Linux除了操作系統(tǒng)是免費(fèi)的以外,連數(shù)據(jù)庫也是免費(fèi)的,這種選擇非常盛行。</p><p><b> 3.4 功能性需求</b></p><p> 由于本開發(fā)模板是在開發(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> (1)網(wǎng)站首頁</b></p><p> 主要包括;圖片輪播、新聞列表、產(chǎn)品輪播、功能分區(qū)</p><p&g
66、t;<b> (2)關(guān)于我們</b></p><p> 主要包括:公司簡介、公司歷史、公司文化、公司機(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> (6)聯(lián)系我們</b></p><p> 主要包括:公司相關(guān)聯(lián)系信息</p
68、><p> 以下為本企業(yè)網(wǎng)站開發(fā)模板的功能用例圖:</p><p><b> 圖3-1</b></p><p> 3.4.2網(wǎng)站后臺(tái)功能</p><p> 本企業(yè)開發(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> ?。?)用戶管理</b></p><p> 主要包括:添加
70、用戶、修改用戶、刪除用戶、用戶更改角色</p><p><b> (4)界面管理</b></p><p> 主要包括;設(shè)置前臺(tái)模板、內(nèi)容顯示,聯(lián)系信息、頁腳信息</p><p><b> ?。?)擴(kuò)展模塊</b></p><p> 主要包括:數(shù)據(jù)庫備份、數(shù)據(jù)庫還原、垃圾清理</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> ?。?)控制面板</b></p><p> 主要包括:添加、修改、刪除(提供二次開發(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)要有清楚說明其作用、功能。</p><p>
74、; (3) 每次提交操作之后要給出明確的提示,操作是否成功。</p><p> 3.5.2 前臺(tái)頁面</p><p> (1)界面要美觀,但又不能太復(fù)雜,內(nèi)容要突出。</p><p> ?。?)要能兼容目前主流的瀏覽器。</p><p> (3)前臺(tái)頁面還使用了響應(yīng)式技術(shù),這樣大大提高了用戶的體驗(yàn),從而達(dá)到了更好的宣傳效益。</
75、p><p><b> 第四章 概要設(shè)計(jì)</b></p><p> 概要設(shè)計(jì)是在需求分析的基礎(chǔ)上由抽象到具體的過程。內(nèi)容包括數(shù)據(jù)庫設(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ù)庫設(shè)計(jì)</b></p><p> 4.1.1 數(shù)據(jù)庫設(shè)計(jì)概述</p><p> 數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術(shù)。十多年來數(shù)據(jù)庫管理系統(tǒng)已從專用的應(yīng)用程序發(fā)展成為通用的系統(tǒng)軟件。由于數(shù)據(jù)庫具有數(shù)據(jù)結(jié)構(gòu)化,最低冗余度,較高的程序與數(shù)據(jù)獨(dú)立性,易于擴(kuò)充,易于編制應(yīng)用程序等優(yōu)點(diǎn),較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫設(shè)計(jì)之上的。因此
77、不僅大型計(jì)算機(jī)及中小型計(jì)算機(jī),甚至微型機(jī)都配有數(shù)據(jù)庫管理系統(tǒng)。</p><p> 數(shù)據(jù)庫系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程序?yàn)橹行霓D(zhuǎn)向圍繞共享的數(shù)據(jù)庫為中心的新階段。這樣既便于數(shù)據(jù)的集中管理,又有利于應(yīng)用程序的研制和維護(hù),提高了數(shù)據(jù)的利用性和相容性,提高了決策的可靠性。目前,數(shù)據(jù)庫已經(jīng)成為現(xiàn)代信息系統(tǒng)不可分割的重要組成部分。數(shù)據(jù)庫技術(shù)也是計(jì)算機(jī)領(lǐng)域中發(fā)展最快的技術(shù)之一。</p><p>
78、; 數(shù)據(jù)庫設(shè)計(jì)是把現(xiàn)實(shí)世界的實(shí)體模型與需求轉(zhuǎn)換成數(shù)據(jù)庫的模型的過程,它是建立數(shù)據(jù)庫應(yīng)用系統(tǒng)的核心問題。數(shù)據(jù)庫及其應(yīng)用的性能都建立在良好的數(shù)據(jù)庫設(shè)計(jì)的基礎(chǔ)之上,數(shù)據(jù)庫的數(shù)據(jù)是一切操作的基礎(chǔ),如果數(shù)據(jù)庫設(shè)計(jì)不好,那么其它一切用于提高數(shù)據(jù)庫性能的方法收效都是有限的。數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵是如何使設(shè)計(jì)的數(shù)據(jù)庫能合理地存儲(chǔ)用戶的數(shù)據(jù),方便用戶進(jìn)行數(shù)據(jù)處理。</p><p> 設(shè)計(jì)數(shù)據(jù)庫必須遵循一定的規(guī)則,在關(guān)系型數(shù)據(jù)庫中,這
79、種規(guī)則就是范式,范式是符合某一種級別的關(guān)系模式的集合。一般人們設(shè)計(jì)數(shù)據(jù)庫遵循第三范式。即:數(shù)據(jù)庫表中不包含已在其他表中包含的非主關(guān)鍵字信息。采用范式減少了數(shù)據(jù)冗余,節(jié)約了存儲(chǔ)空間,同時(shí)加快了增、刪、改的速度。</p><p> 4.1.2 數(shù)據(jù)庫需求分析</p><p> 進(jìn)行整個(gè)數(shù)據(jù)庫設(shè)計(jì)必須準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)和處理)。用戶需求分析是整個(gè)設(shè)計(jì)過程的基礎(chǔ),是最困難、最耗費(fèi)
80、時(shí)間的一步。作為最基本的需求分析做得是否充分與準(zhǔn)確,決定了在其構(gòu)建數(shù)據(jù)庫的速度和質(zhì)量。</p><p> 經(jīng)調(diào)查可知,由于大多數(shù)企業(yè)網(wǎng)站都是大同小異的,而用戶的需求具體體現(xiàn)在各種信息的提供、存儲(chǔ)、更新和查詢方面,這就要求數(shù)據(jù)庫結(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> ?。?)首先是權(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ù)庫邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 概念結(jié)構(gòu)設(shè)計(jì)是數(shù)據(jù)庫設(shè)計(jì)的核心。概念結(jié)構(gòu)獨(dú)立于數(shù)據(jù)庫的邏輯結(jié)構(gòu),也獨(dú)立與所使用的具體的數(shù)據(jù)庫管理系統(tǒng)。概念模型(E
85、-R模型)的組成元素有:實(shí)體、屬性、聯(lián)系,E-R模型用E-R圖表示。實(shí)體是用戶工作環(huán)境中所涉及的事務(wù),屬性是對實(shí)體特征的描述。</p><p> 模型中的實(shí)體相當(dāng)于一個(gè)實(shí)體集、一個(gè)表。實(shí)體用矩形框表示,實(shí)體名稱標(biāo)注在矩形框內(nèi)。用菱形表示實(shí)體間的聯(lián)系,菱形框內(nèi)寫上聯(lián)系名,用無向邊把菱形分別與有關(guān)實(shí)體相連接,在無向邊旁標(biāo)上聯(lián)系的類型。</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)對他們的完整性和一致性控制。</p><p> E-R模型的組成元素有:實(shí)體、屬性、聯(lián)系。E-R模型用E-R圖來表示。實(shí)體是用戶工作環(huán)境中所涉及的事物,屬性是對實(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)站開發(fā)模板整體
90、E-R圖如下:</p><p> 圖4-14 本開發(fā)模板整體E-R圖</p><p> 4.1.4 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì)</p><p> 在實(shí)際設(shè)計(jì)的時(shí)候需要考慮到一些系統(tǒng)的性能、負(fù)載問題,所以數(shù)據(jù)庫的設(shè)計(jì)要求更加細(xì)致,下面對每個(gè)表進(jìn)行詳細(xì)的設(shè)計(jì),即數(shù)據(jù)字典。</p><p> ?。?)think_access表</p>
91、<p><b> 相關(guān)索引</b></p><p> ?。?)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> (5)think_file表</p><p><b> 相關(guān)索引</b></p><p> ?。?)think_homemodel表</p><p><
93、b> 相關(guān)索引</b></p><p> ?。?)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> ?。?2)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> ?。?5)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)站開發(fā)模板架構(gòu)方案</p><p> 本中小型企業(yè)網(wǎng)站開發(fā)模板采用現(xiàn)在比較流行,比較成熟的ThinkPHP 3.1.2開源框架技術(shù)。ThinkPHP是一個(gè)免費(fèi)開源的,快速、簡單的面向?qū)ο蟮妮p量級PHP開發(fā)框架,遵循Apache2開源協(xié)議發(fā)布,是為了敏捷WEB應(yīng)用開發(fā)和簡化企業(yè)級應(yīng)用開發(fā)而誕生的。ThinkPHP借鑒了國外很多優(yōu)秀的框架和模式,使用面向?qū)ο蟮拈_發(fā)結(jié)構(gòu)和MVC模式,采用單一
98、入口模式等,融合了Struts的Action思想和JSP的TagLib(標(biāo)簽庫)、RoR的ORM映射和ActiveRecord模式,封裝了CURD和一些常用操作,在項(xiàng)目配置、類庫導(dǎo)入、模版引擎、查詢語言、自動(dòng)驗(yàn)證、視圖模型、項(xiàng)目編譯、緩存機(jī)制、SEO支持、分布式數(shù)據(jù)庫、多數(shù)據(jù)庫連接和切換、認(rèn)證機(jī)制和擴(kuò)展性方面均有獨(dú)特的表現(xiàn)。</p><p> 本網(wǎng)站開發(fā)模板體系結(jié)構(gòu)如圖3所示:</p><p
99、> 圖4-15 本網(wǎng)站開發(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類來完成。</p><p> 控制器(C):應(yīng)用控制器(核心控制
100、器App類)和Action控制器都承擔(dān)了控制器的角色,Action控制器完成業(yè)務(wù)過程控制,而應(yīng)用控制器負(fù)責(zé)調(diào)度控制。</p><p> 視圖(V):由View類和模板文件組成,模板做到了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)行的種種分析,把各種需求使用程序語言實(shí)現(xiàn)的過程。這部分將會(huì)對某些關(guān)鍵技術(shù)做出詳細(xì)的描述,包括代碼段的講解、運(yùn)行原理的細(xì)述和顯示效果的展示。</p><p> 5.1系統(tǒng)公共文件核心代碼</p><p> 5.1.1公共配置文件及入口文件</p><p> 本網(wǎng)站開發(fā)模板的數(shù)據(jù)庫連接全都依賴于config.inc
102、.php文件,這個(gè)文件對系統(tǒng)正常運(yùn)行所需要的一些數(shù)據(jù)庫連接操作,同時(shí)還有一些常量的定義。</p><p><b> <?php</b></p><p> return array(</p><p> //'配置項(xiàng)'=>'配置值'</p><p> 'DB_TYP
103、E'=>'mysql', //設(shè)置數(shù)據(jù)庫類型</p><p> 'DB_HOST'=>'localhost',//設(shè)置主機(jī)</p><p> 'DB_NAME'=>'cbmdb',//設(shè)置數(shù)據(jù)庫名</p><p> 'DB_USER'=
104、>'root', //設(shè)置用戶名</p><p> 'DB_PWD'=>'', //設(shè)置密碼</p><p> 'DB_PORT'=>'3306', //設(shè)置端口號</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)站開發(fā)模板可通過
106、修改該配置來連接相應(yīng)的服務(wù)器下的數(shù)據(jù)庫,同生也可定義一些項(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); //開啟調(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); //開啟調(diào)試模式</p><p> require './ThinkPHP/ThinkPHP.php'; //引入核心文件</p><p><b> ?></b></p><p> 定義以上的入口文件,可通過定義不同的入口文件來實(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)站開發(fā)模板后臺(tái)使用了thinkphp中的rbac管理權(quán)限機(jī)制,后臺(tái)管理員登陸須經(jīng)過一系列的驗(yàn)證方可進(jìn)入后臺(tái)。</p><p><b> 權(quán)限檢測接口:</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)證識別號</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> // 沒有權(quán)限 拋出錯(cuò)誤</p><p> if (C (
115、'RBAC_ERROR_PAGE' )) {</p><p> // 定義權(quán)限錯(cuò)誤頁面</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)限檢測是通過rbac機(jī)制中設(shè)計(jì)的權(quán)限表之間的關(guān)系來判斷登陸的用戶是屬于哪種類型,從而給出相應(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> * 用戶登錄頁面</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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件工程畢業(yè)論文基于thinkphp框架的中小型企業(yè)網(wǎng)站開發(fā)模板的設(shè)計(jì)與實(shí)現(xiàn)
- 基于thinkphp框架的中小型企業(yè) 網(wǎng)站開發(fā)模板的設(shè)計(jì)與實(shí)現(xiàn)
- 中小型企業(yè)網(wǎng)站開發(fā)-本科畢業(yè)論文
- 中小型企業(yè)網(wǎng)站的設(shè)計(jì)與開發(fā)【畢業(yè)論文】
- 中小型企業(yè)網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)論文
- 基于php技術(shù)的小型企業(yè)網(wǎng)站開發(fā)畢業(yè)設(shè)計(jì)
- 中小型企業(yè)網(wǎng)站建設(shè)方案模板
- 畢業(yè)論文-中小型企業(yè)網(wǎng)絡(luò)的構(gòu)建-
- 畢業(yè)論文-中小型企業(yè)網(wǎng)絡(luò)的構(gòu)建-
- 中小型企業(yè)網(wǎng)絡(luò)的構(gòu)建畢業(yè)論文
- 中小型企業(yè)網(wǎng)絡(luò)的構(gòu)建-畢業(yè)論文
- 中小型企業(yè)網(wǎng)絡(luò)的構(gòu)建-畢業(yè)論文
- 中小型企業(yè)網(wǎng)絡(luò)構(gòu)建畢業(yè)論文
- 中小型企業(yè)網(wǎng)絡(luò)搭建畢業(yè)論文
- 企業(yè)網(wǎng)站開發(fā)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)---中小型企業(yè)網(wǎng)絡(luò)的設(shè)計(jì)與實(shí)現(xiàn)
- 構(gòu)建中小型企業(yè)網(wǎng)絡(luò) 畢業(yè)論文
- 中小型企業(yè)網(wǎng)設(shè)計(jì)論文
- 中小型企業(yè)網(wǎng)絡(luò)安全規(guī)劃與設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文-小型企業(yè)網(wǎng)站的制作
評論
0/150
提交評論