




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第10章項(xiàng)目實(shí)戰(zhàn)——內(nèi)容管理系統(tǒng)《PHP網(wǎng)站開發(fā)實(shí)例教程(第3版)》學(xué)習(xí)目標(biāo)/Target
熟悉內(nèi)容管理系統(tǒng)的頁面效果,能夠說出內(nèi)容管理系統(tǒng)的主要功能。
掌握內(nèi)容管理系統(tǒng)后臺(tái)功能的實(shí)現(xiàn),能夠根據(jù)實(shí)現(xiàn)步驟實(shí)現(xiàn)后臺(tái)的相關(guān)功能。
掌握內(nèi)容管理系統(tǒng)前臺(tái)功能的實(shí)現(xiàn),能夠根據(jù)實(shí)現(xiàn)步驟實(shí)現(xiàn)前臺(tái)的相關(guān)功能。章節(jié)概述/SummaryPHP可以開發(fā)各種不同類型的項(xiàng)目,內(nèi)容管理系統(tǒng)(ContentManagementSystem,CMS)就是一種比較典型的項(xiàng)目。常見的門戶、新聞、博客、文章等類型的網(wǎng)站都可以利用CMS進(jìn)行搭建。CMS用于對(duì)信息進(jìn)行分類管理,將信息有序、及時(shí)地呈現(xiàn)在用戶面前,滿足人們發(fā)布信息、獲取信息的需求,保證信息的共享更加快捷和方便。本章將講解如何基于自定義框架開發(fā)內(nèi)容管理系統(tǒng)。目錄/Contents10.110.2項(xiàng)目展示內(nèi)容管理系統(tǒng)的功能實(shí)現(xiàn)項(xiàng)目展示10.1
先定一個(gè)小目標(biāo)!熟悉內(nèi)容管理系統(tǒng)的頁面效果,能夠說出內(nèi)容管理系統(tǒng)的主要功能。10.1項(xiàng)目展示內(nèi)容管理系統(tǒng)的前臺(tái)首頁:10.1項(xiàng)目展示內(nèi)容管理系統(tǒng)的后臺(tái)登錄頁面:10.1項(xiàng)目展示內(nèi)容管理系統(tǒng)的后臺(tái)首頁:10.1項(xiàng)目展示內(nèi)容管理系統(tǒng)的功能實(shí)現(xiàn)10.2
先定一個(gè)小目標(biāo)!掌握后臺(tái)功能的實(shí)現(xiàn),能夠根據(jù)步驟實(shí)現(xiàn)功能。10.2.1后臺(tái)功能實(shí)現(xiàn)后臺(tái)功能后臺(tái)用戶登錄頁面搭建驗(yàn)證碼10.2.1后臺(tái)功能實(shí)現(xiàn)欄目管理文章管理1.后臺(tái)用戶登錄后臺(tái)用戶登錄通常是系統(tǒng)的管理員登錄,登錄后對(duì)系統(tǒng)進(jìn)行維護(hù)。后臺(tái)用戶登錄功能的實(shí)現(xiàn)步驟:10.2.1后臺(tái)功能實(shí)現(xiàn)登錄MySQL,在myframe數(shù)據(jù)庫中創(chuàng)建用戶表,向表中插入一條數(shù)據(jù)。1在C:\web\www\myframe下創(chuàng)建app\Http\Controllers\admin目錄,實(shí)現(xiàn)后臺(tái)功能。2創(chuàng)建LoginController處理登錄相關(guān)業(yè)務(wù),與登錄相關(guān)的方法如下。index()方法:顯示登錄頁面,提示用戶輸入用戶名、密碼和驗(yàn)證碼。login()方法:接收登錄表單,返回登錄成功或登錄失敗的提示。logout()方法:退出登錄。captcha()方法:顯示驗(yàn)證碼。3后臺(tái)用戶登錄功能的實(shí)現(xiàn)步驟:10.2.1后臺(tái)功能實(shí)現(xiàn)創(chuàng)建myframe\HttpException.php文件,在App.php的run()方法中捕獲HttpException,在myframe\Controller.php編寫success()方法和error()方法,實(shí)現(xiàn)Ajax交互。4創(chuàng)建app\User.php模型文件,在login()方法中驗(yàn)證用戶名和密碼。5用戶登錄成功后,通過Session來記住登錄狀態(tài),并在下次請(qǐng)求中判斷用戶是否登錄。6在logout()方法中清除用戶的Session信息,實(shí)現(xiàn)退出登錄。72.驗(yàn)證碼考慮到網(wǎng)站上線后可能會(huì)遭受攻擊,為了保護(hù)后臺(tái)登錄功能的安全,需要增加一個(gè)驗(yàn)證碼功能,用戶登錄時(shí)顯示一張驗(yàn)證碼圖片,要求用戶輸入圖片中的字符,只有驗(yàn)證碼輸入正確,后臺(tái)才會(huì)處理用戶的登錄請(qǐng)求。驗(yàn)證碼功能的實(shí)現(xiàn)步驟如下:10.2.1后臺(tái)功能實(shí)現(xiàn)在myframe\Captcha.php中創(chuàng)建驗(yàn)證碼類,create()方法自動(dòng)生成驗(yàn)證碼字符,show()方法生成驗(yàn)證碼圖像。1在控制器中使用驗(yàn)證碼類,生成驗(yàn)證碼圖像。2判斷用戶輸入的驗(yàn)證碼是否正確,驗(yàn)證碼驗(yàn)證成功后,該驗(yàn)證碼會(huì)立即過期,不允許被重復(fù)驗(yàn)證。33.頁面搭建用戶登錄成功以后,就會(huì)進(jìn)入后臺(tái)首頁。后臺(tái)頁面結(jié)構(gòu)主要分為3部分,分別是頂部、菜單和內(nèi)容區(qū)域。后臺(tái)頁面:10.2.1后臺(tái)功能實(shí)現(xiàn)頂部菜單內(nèi)容區(qū)域后臺(tái)頁面搭建的實(shí)現(xiàn)步驟:10.2.1后臺(tái)功能實(shí)現(xiàn)創(chuàng)建resources\views\admin\layout.html文件實(shí)現(xiàn)后臺(tái)頁面布局。1在Request.php文件中添加isAjax()方法,用于判斷當(dāng)前請(qǐng)求是否為Ajax請(qǐng)求,在CommonController中調(diào)用isAjax()方法,判斷如果不是Ajax請(qǐng)求就返回布局視圖。2在layout.html的菜單位置添加“首頁”“欄目管理”“文章管理”菜單項(xiàng)。3修改IndexController的index()方法,顯示后臺(tái)首頁對(duì)應(yīng)的admin/index模板,將系統(tǒng)環(huán)境、MySQL版本、文件上傳限制、腳本執(zhí)行時(shí)限以及服務(wù)器時(shí)間等信息輸出到頁面中。44.欄目管理欄目用于對(duì)內(nèi)容進(jìn)行分類,如生活類、咨訊類、編程類等,用戶可以更高效地找到需要的信息。欄目管理的功能主要包括欄目的查詢、添加、修改和刪除。欄目管理的實(shí)現(xiàn)步驟:10.2.1后臺(tái)功能實(shí)現(xiàn)創(chuàng)建欄目表cms_category,字段為id、name(欄目名稱)和sort(排序),添加測試數(shù)據(jù)。1創(chuàng)建欄目表對(duì)應(yīng)的模型文件app\Category.php,在該文件中完成對(duì)欄目表的操作。2創(chuàng)建app\Http\Controllers\Admin\CategoryController.php,創(chuàng)建index()方法讀取欄目列表。3在CategoryController中編寫edit()方法,實(shí)現(xiàn)修改欄目。4在CategoryController中編寫delete()方法,實(shí)現(xiàn)刪除欄目。55.文章管理文章管理功能需要支持上傳文件。用戶可以上傳封面圖,由于文章記錄會(huì)越來越多,需要提供分頁查詢,方便用戶瀏覽。文章管理的實(shí)現(xiàn)步驟:10.2.1后臺(tái)功能實(shí)現(xiàn)創(chuàng)建文章表cms_article,字段為文章id、所屬欄目id、文章標(biāo)題、作者名、封面圖路徑、發(fā)布狀態(tài)、閱讀量、文章內(nèi)容以及創(chuàng)建時(shí)間,向文章表中添加測試數(shù)據(jù)。1創(chuàng)建文章表對(duì)應(yīng)的模型文件app\Article.php,在該文件中完成對(duì)文章表的操作。2創(chuàng)建app\Http\Controllers\Admin\ArticleController.php,創(chuàng)建index()方法,讀取文章列表。3創(chuàng)建myframe\Page.php,實(shí)現(xiàn)分頁查詢,生成分頁的導(dǎo)航鏈接。4文章管理的實(shí)現(xiàn)步驟:10.2.1后臺(tái)功能實(shí)現(xiàn)在ArticleController中創(chuàng)建edit()方法,顯示添加或修改文章頁面,引入在線編輯器Ueditor,添加save()方法保存修改后的文章。5在myframe\Request.php中創(chuàng)建hasFile()方法,判斷當(dāng)前文章是否有文件上傳,創(chuàng)建file()方法獲取文件信息,創(chuàng)建myframe\Upload.php文件實(shí)現(xiàn)文件上傳。6在ArticleController中創(chuàng)建delete()方法,根據(jù)文章id刪除指定文章。7文章的欄目id依賴欄目表的記錄,當(dāng)刪除欄目時(shí),該欄目下原有的文章的所屬分類就會(huì)出現(xiàn)問題,修改CategoryController,將被刪除的欄目下的所有文章的欄目id設(shè)為0,表示未選擇欄目。8
先定一個(gè)小目標(biāo)!掌握前臺(tái)功能的實(shí)現(xiàn),能夠根據(jù)步驟實(shí)現(xiàn)功能。10.2.2前臺(tái)功能實(shí)現(xiàn)前臺(tái)功能前臺(tái)首頁文章展示10.2.2前臺(tái)功能實(shí)現(xiàn)供外部訪客訪問,主要展示網(wǎng)站的內(nèi)容。展示文章的詳細(xì)信息。10.2.2前臺(tái)功能實(shí)現(xiàn)1.前臺(tái)首頁前臺(tái)首頁的頁面布局分為頂部、內(nèi)容區(qū)域和尾部3部分。頂部包含欄目導(dǎo)航,用戶單擊欄目導(dǎo)航鏈接可以切換當(dāng)前顯示的欄目。內(nèi)容區(qū)域包含內(nèi)容:輪播圖:輪播圖突出展示網(wǎng)站的熱點(diǎn)內(nèi)容,通過直接編寫HTML代碼實(shí)現(xiàn)輪播圖。文章列表:首頁顯示所有欄目的文章,如果在某個(gè)欄目下,顯示某個(gè)欄目的文章。側(cè)邊欄:位于文章列表的右側(cè),側(cè)邊欄中會(huì)顯示熱門標(biāo)簽、最新文章和最熱文章3個(gè)模塊。其中,熱門標(biāo)簽功能在后臺(tái)沒有開發(fā),直接編寫HTML代碼展示,最新文章和最熱文章需要查詢文章表獲取數(shù)據(jù)。10.2.2前臺(tái)功能實(shí)現(xiàn)前臺(tái)首頁功能的實(shí)現(xiàn)步驟:創(chuàng)建resources\views\layout.html實(shí)現(xiàn)前臺(tái)頁面的布局,創(chuàng)建index.html保存首頁的內(nèi)容區(qū)域。1實(shí)現(xiàn)首頁的頂部內(nèi)容,創(chuàng)建IndexController.php,通過index()方法顯示前臺(tái)首頁,編寫category()方法查詢欄目記錄。在layout.html輸出欄目列表,給選中的欄目添加選中樣式。2實(shí)現(xiàn)內(nèi)容區(qū)域輪播圖,在resources\views下創(chuàng)建sub目錄,將輪播圖代碼保存到slide.html中。3實(shí)現(xiàn)內(nèi)容區(qū)域的文章列表,修改IndexController的index()方法,讀取文章列表并實(shí)現(xiàn)分頁查詢,創(chuàng)建resources\views\sub\list.html文件,輸出文章列表。4實(shí)現(xiàn)內(nèi)容區(qū)域的側(cè)邊欄,在IndexController中創(chuàng)建sidebar(),其他頁面使用時(shí)直接調(diào)用,創(chuàng)建resources\views\sub\sidebar.html,輸出熱門標(biāo)簽、熱門文章和最新文章,在index.html中引入側(cè)邊欄。510.2.2前臺(tái)功能實(shí)現(xiàn)2.文章展示用戶單擊某一篇文章后,會(huì)進(jìn)入文章展示頁面,文章展示頁面會(huì)顯示文章的標(biāo)題、內(nèi)容、作者、發(fā)表時(shí)間、閱讀量,并且為了方便用戶瀏覽,還會(huì)提供上一篇、下一篇切換的鏈接。文章展示頁面的實(shí)現(xiàn)步驟:在IndexController中編寫show()方法,該方法的參數(shù)id表示要展示的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 客運(yùn)火車站旅客服務(wù)規(guī)范考核試卷
- 供應(yīng)鏈協(xié)同案例解析考核試卷
- 低溫倉儲(chǔ)庫存管理與控制考核試卷
- 家用縫紉機(jī)維修實(shí)操考核試卷
- 土地利用規(guī)劃中的社區(qū)開放空間設(shè)計(jì)考核試卷
- 創(chuàng)業(yè)投資風(fēng)險(xiǎn)防范體系建設(shè)與實(shí)施路徑考核試卷
- 政府融資合同范本模板
- 自用高爾夫轉(zhuǎn)讓合同范本
- 工地叉車租憑合同范本
- 電氣質(zhì)量安全培訓(xùn)課件
- GB/T 12785-2002潛水電泵試驗(yàn)方法
- 鐵路基礎(chǔ)知識(shí)課件
- 全面風(fēng)險(xiǎn)標(biāo)準(zhǔn)化分類分定與描述數(shù)據(jù)庫(2023-雷澤佳編寫)
- 《口腔內(nèi)科護(hù)理》教學(xué)課件
- 幼兒園教師如何寫論文教學(xué)課件
- 六年級(jí)語文-文言文閱讀訓(xùn)練題50篇-含答案-全國通用
- 出版物網(wǎng)絡(luò)零售備案表
- 動(dòng)物性食品的食品安全課件
- 云南省昭通市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 頸動(dòng)脈狹窄的護(hù)理查房
- 國家留學(xué)基金委國外大學(xué)邀請(qǐng)函
評(píng)論
0/150
提交評(píng)論