![《PHP Web應用開發(fā)案例教程》630-9(阮云蘭)教案 第27課 ThinkPHP的配置與架構_第1頁](http://file4.renrendoc.com/view/dae9e2675ed03f4930fe47fd17a8aa42/dae9e2675ed03f4930fe47fd17a8aa421.gif)
![《PHP Web應用開發(fā)案例教程》630-9(阮云蘭)教案 第27課 ThinkPHP的配置與架構_第2頁](http://file4.renrendoc.com/view/dae9e2675ed03f4930fe47fd17a8aa42/dae9e2675ed03f4930fe47fd17a8aa422.gif)
![《PHP Web應用開發(fā)案例教程》630-9(阮云蘭)教案 第27課 ThinkPHP的配置與架構_第3頁](http://file4.renrendoc.com/view/dae9e2675ed03f4930fe47fd17a8aa42/dae9e2675ed03f4930fe47fd17a8aa423.gif)
![《PHP Web應用開發(fā)案例教程》630-9(阮云蘭)教案 第27課 ThinkPHP的配置與架構_第4頁](http://file4.renrendoc.com/view/dae9e2675ed03f4930fe47fd17a8aa42/dae9e2675ed03f4930fe47fd17a8aa424.gif)
![《PHP Web應用開發(fā)案例教程》630-9(阮云蘭)教案 第27課 ThinkPHP的配置與架構_第5頁](http://file4.renrendoc.com/view/dae9e2675ed03f4930fe47fd17a8aa42/dae9e2675ed03f4930fe47fd17a8aa425.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
PAGE6PAGE6PAGE7PAGE7
課題ThinkPHP的配置與架構課時2課時(90min)教學目標知識技能目標:(1)了解入口文件、模塊和控制器的概念(2)掌握ThinkPHP配置文件的設置(3)了解ThinkPHP的命名規(guī)范及其項目構建流程素質(zhì)目標:(1)培養(yǎng)學生責任意識和職業(yè)素養(yǎng),使學生養(yǎng)成良好的習慣(2)培養(yǎng)學生的科學精神、價值取向、工匠精神、家國情懷教學重難點教學重點:ThinkPHP的命名規(guī)范及其項目構建流程教學難點:入口文件、模塊和控制器教學方法案例分析法、問答法、討論法、講授法、實踐法教學用具電腦、投影儀、多媒體課件、教材教學設計第1節(jié)課:→→→傳授新知(38min)第2節(jié)課:→傳授新知(20min)→小組討論(15min)→課堂小結(3min)→作業(yè)布置(2min)教學過程主要教學內(nèi)容及步驟設計意圖第一節(jié)課課前任務【教師】布置課前任務,和學生負責人取得聯(lián)系,讓其提醒同學通過文旌課堂APP或其他學習軟件,預習本節(jié)課要學習的知識【學生】完成課前任務通過課前任務,使學生預習本節(jié)課要學習的知識,增加學生的學習興趣考勤(2min)【教師】使用文旌課堂APP進行簽到【學生】班干部報請假人員及原因培養(yǎng)學生的組織紀律性,掌握學生的出勤情況問題導入(5min)【教師】提出以下問題:ThinkPHP的構建流程是怎樣的,怎么對其配置文件進行配置呢?通過問題導入,引導學生主動思考,激發(fā)學生的學習興趣傳授新知(38min)【教師】通過學生的回答引入要講的知識,講解ThinkPHP的配置方法和架構14.3ThinkPHP的配置配置文件是ThinkPHP框架程序運行的基礎條件,框架的很多功能都需要在配置文件中設置之后才會生效。ThinkPHP提供了靈活的全局配置功能,采用最有效率的PHP返回數(shù)組方式定義,支持慣例配置、公共配置、模塊配置等。對于有些簡單的應用,不需要任何配置文件;而對于復雜的要求,還可以增加動態(tài)配置文件。系統(tǒng)的配置參數(shù)是通過靜態(tài)變量全局存取的,存取方式簡單高效。14.3.1配置格式配置文件一般位于“.\Application\Common\Conf”目錄下面,文件名為“config.php”。在ThinkPHP中,默認所有配置文件的定義格式均采用返回PHP數(shù)組的方式,其定義格式如下:<?phpreturnarray( 'DEFAULT_MODULE'=>'Index', //默認模塊 'URL_MODEL'=>'2', //URL模式 'SESSION_AUTO_START'=>true, //是否開啟session //更多配置參數(shù) //... );?>配置參數(shù)(如上面代碼中的URL_MODEL)不區(qū)分大小寫,但是一般建議保持大寫定義配置參數(shù)的規(guī)范。14.3.2讀取配置無論哪種配置文件,都統(tǒng)一使用系統(tǒng)提供的C()方法來獲取配置參數(shù)。其用法如下:C('參數(shù)名稱')例如,要讀取當前的URL模式配置參數(shù),可使用以下語句:$model=C('URL_MODEL');?【教師】通過多媒體展示利14-3,演示通過打印配置參數(shù),驗證C()方法的應用的操作(1)在網(wǎng)站根目錄下新建文件夾“03”,將解壓后的ThinkPHP文件拷貝到該目錄下,并運行應用入口文件“index.php”,以自動生成應用目錄結構。(2)打開“.\Application\Common\Conf”目錄下的配置文件“config.php”,設置配置參數(shù)如下:returnarray( //'配置項'=>'配置值' 'DB_TYPE'=>'mysql', //數(shù)據(jù)庫類型 'DB_HOST'=>'localhost', //服務器地址 'DB_NAME'=>'database14', //數(shù)據(jù)庫名 'DB_USER'=>'root', //用戶名 'DB_PWD'=>'123456', //密碼);(3)打開默認的Index控制器文件IndexController.class.php,修改默認的index()操作方法如下:publicfunctionindex(){dump(C('DB_TYPE')); //獲取配置參數(shù)}dump()是var_dump()的簡稱,用于顯示關于一個或多個表達式的結構信息,包括表達式的類型與值。ThinkPHP中已經(jīng)定義好了該函數(shù),可以直接應用。(4)再次運行應用入口文件“index.php”,結果如圖所示。?【學生】觀看、理解、記憶配置參數(shù)名稱中不能含有“.”和特殊字符,允許出現(xiàn)字母、數(shù)字和下畫線。如果要讀取的參數(shù)尚未設置,則返回NULL。此外,系統(tǒng)支持在讀取的時候設置默認值,例如://如果DB_HOST參數(shù)尚未設置,則返回默認的字符“l(fā)ocalhost”$model=C('DB_HOST',null,'localhost');【教師】講解ThinkPHP的架構14.4ThinkPHP架構【教師】安排學生掃碼觀看視頻“模塊化設計”,講解知識?【學生】掃碼觀看、理解、記憶14.4.1模塊化設計一個完整的ThinkPHP應用基于“模塊/控制器/操作”設計,并且,如果有需要的話,可以支持多入口文件。ThinkPHP新版采用模塊化的架構設計思想,對目錄結構規(guī)范做了調(diào)整,可以支持多模塊應用的創(chuàng)建,讓應用的擴展更加方便。一個典型的URL訪問規(guī)則是(此處以默認的PATHINFO模式為例說明,當然也可以支持普通的URL模式):http://serverName/index.php(或者其他應用入口文件)/模塊/控制器/操作/[參數(shù)名/參數(shù)值...]為便于理解,下面解釋一下其中的幾個概念:應用:基于同一個入口文件訪問的項目,稱之為一個應用,如前面默認的Application。模塊:一個應用下面可以包含多個模塊,每個模塊在應用目錄下面都是一個獨立的子目錄,一般的網(wǎng)站都有前臺(Home)和后臺(Admin)兩個模塊??刂破鳎好總€模塊可以包含多個控制器(一般位于模塊下的Controller文件夾中),一個控制器通常體現(xiàn)為一個控制器類。操作:每個控制器類可以包含多個操作方法,也可能是綁定的某個操作類,每個操作是URL訪問的最小單元。?【教師】通過多媒體展示例14-4,演示在默認控制器中新建操作并訪問的操作通過在默認控制器中新建操作并訪問,來驗證ThinkPHP應用是基于“模塊/控制器/操作”進行設計的思想。(1)在網(wǎng)站根目錄下新建文件夾“04”,將解壓后的ThinkPHP文件拷貝到該目錄下,并運行應用入口文件“index.php”,以自動生成應用目錄結構。(2)打開“.\Application\Home\Controller”目錄下的默認Index控制器文件“IndexController.class.php”,在其中新建方法demo()……(詳見教材)?【學生】觀看、理解、記憶1.模塊設計?【教師】通過多媒體展示““Home”模塊結構”圖片,并進行介紹模塊化設計中的模塊是最重要的部分,模塊其實是一個包含配置文件、函數(shù)文件和MVC文件(目錄)的集合。例如,前面14.2.5節(jié)自動生成的目錄結構中有一個“Home”模塊,其中的Conf是配置文件目錄,Common是公共函數(shù)文件目錄,模塊控制器目錄默認生成的Home模塊模塊函數(shù)公共目錄模塊配置文件目錄模塊模型目錄模塊視圖文件目錄剩下的3個(Controller模塊控制器目錄默認生成的Home模塊模塊函數(shù)公共目錄模塊配置文件目錄模塊模型目錄模塊視圖文件目錄2.多入口文件采用單一入口文件加“模塊/控制器/操作”的方法,很容易泄露網(wǎng)站目錄結構信息,用戶只要看到網(wǎng)頁路徑,就能知道網(wǎng)站結構,容易導致網(wǎng)站被黑客攻擊。為此,可以給相同的應用及模塊設置多個入口,不同的入口文件可以設置不同的應用模式或者綁定模塊。?【教師】通過多媒體展示例14-5,演示在為同一個應用設置兩個入口文件的操作多入口文件。本例通過為同一個應用設置兩個入口文件,來學習如何為一個應用設置多個入口。(1)在網(wǎng)站根目錄下新建文件夾“05”,將解壓后的ThinkPHP文件拷貝到該目錄下,并運行應用入口文件“index.php”,以自動生成應用目錄結構。(2)在“.\Application”目錄下復制一個Home模塊,將其重命名為Admin,并打開Admin目錄下“Controller”文件夾中的“IndexController.class.php”文件,將其首行代碼“namespaceHome\Controller;”修改為“namespaceAdmin\Controller;”,之后修改其index()方法……(詳見教材)?【學生】觀看、理解、記憶【學生】聆聽、思考、記錄通過教師的講解和演示,使學生了解ThinkPHP的配置方法和架構第二節(jié)課問題導入(5min)【教師】提出以下問題:什么是URL模式,URL模式的作用是什么?【學生】思考、舉手回答通過問題導入,引導學生主動思考,激發(fā)學生的學習興趣傳授新知(20min)【教師】通過學生的回答引入新知,介紹PHP中URL模式、命名空間和ThinkPHP的系統(tǒng)流程14.4.2URL模式?【教師】通過多媒體展示“典型網(wǎng)址”圖片,并進行介紹通過前面對“模塊化設計”的學習,相信讀者已經(jīng)對URL有了個簡單的認識,系統(tǒng)一般是從URL參數(shù)中解析當前請求的模塊、控制器和操作,如圖14-20中的網(wǎng)址所示。模塊控制器模塊控制器操作由于ThinkPHP的命名規(guī)范是采用駝峰命名法(首字母大寫)的規(guī)則,而URL中的模塊和控制器都是對應的文件名,所以ThinkPHP框架的URL是區(qū)分大小寫(主要是針對模塊、控制器和操作名,不包括應用參數(shù))的,這一點非常關鍵。在直接訪問入口文件時,由于URL中沒有模塊、控制器和操作,系統(tǒng)會訪問默認模塊(Home)下面的默認控制器(Index)的默認操作(index),因此下面的訪問是等效的:http://serverName/index.phphttp://serverName/index.php/Home/Index/index這種URL模式是系統(tǒng)默認的PATHINFO模式,不同的URL模式獲取模塊和操作的方法不同,ThinkPHP支持的URL模式有四種,分別是普通模式、PATHINFO模式、REWRITE模式和兼容模式,如表所示??梢酝ㄟ^設置URL_MODEL參數(shù)值,來改變URL模式。?【教師】通過多媒體展示“常用算術運算符”表格,并進行介紹URL模式URL模式URL_MODEL值普通模式0PATHINFO模式1REWRITE模式2兼容模式3如果整個應用下面的模塊采用統(tǒng)一的URL模式,就可以在應用配置文件中設置URL模式,如果不同模塊需要設置不同的URL模式,則可以在不同的模塊配置文件中設置。1.普通模式普通模式就是用傳統(tǒng)的GET傳參方式來指定當前訪問的模塊和操作,例如,以下URL中:http://localhost/?m=home&c=user&a=login&var=valuem參數(shù)表示模塊,c參數(shù)表示控制器,a參數(shù)表示操作。如果使用該模式訪問前面例14-4中的
URL“http://localhost/example/ph14/04/index.php/Home/Index/demo”,將變成這種形式“http://localhost/example/ph14/04/index.php/?m=Home&c=Index&a=demo”,在瀏覽器地址欄中輸入該URL,按“Enter”鍵,結果如圖所示。?【教師】通過多媒體展示“普通模式的URL”圖片,并進行介紹2.PATHINFO模式PATHINFO模式是系統(tǒng)默認的URL模式,提供了最好的SEO支持,能夠支持大多數(shù)主機環(huán)境,其形式如
“http://localhost/example/ph14/04/index.php/Home/Index/demo”。前面用到的URL都屬于PATHINFO模式。此處需要注意一點,URL中的index.php不是網(wǎng)站的路徑。3.REWRITE模式REWRITE模式是在PATHINFO模式的基礎上添加了重寫規(guī)則的支持,可以去掉URL地址中的入口文件index.php,但是需要額外配置Web服務器的重寫規(guī)則。如果是Apache,還需要在入口文件的同級目錄中添加.htaccess文件,其內(nèi)容如下:<IfModulemod_rewrite.c> Options+FollowSymlinks RewriteEngineOnRewriteCond%{REQUEST_FILENAME}!-dRewriteCond%{REQUEST_FILENAME}!-fRewriteRule^(.*)$index.php/$1[QSA,PT,L]</IfModule>我們使用的ThinkPHP版本,默認都提供了該文件,不需要單獨創(chuàng)建。?【教師】通過多媒體展示例14-6,演示配置Web服務器的重寫規(guī)則的操作驗證REWRITE模式的應用。本例通過配置Web服務器的重寫規(guī)則,來驗證REWRITE模式的應用。(1)在網(wǎng)站根目錄下新建文件夾“06”,將例14-4中的素材文件“04”目錄下的文件全部拷貝到“06”文件夾中(2)打開服務器配置文件。服務器配置文件“httpd.conf”一般位于“Apache24\conf”目錄下,使用記事本打開該文件……(詳見教材)?【學生】觀看、理解、記憶14.4.3命名空間前面曾多次接觸到命名空間,ThinkPHP新版全面采用命名空間方式定義和加載類庫文件。打開默認的控制器文件“IndexControler.class.php”(位于“.\Application\Home\Controller”
目錄下)。其中第一行代碼:namespaceHome\Controller;就是對命名空間的定義,其中的Home代表前臺模塊,Controller是當前的目錄名。下面的語句:useThink\Controller;?【教師】通過多媒體展示““Controller.class.php”文件”圖片,并進行介紹其中的Think是ThinkPHP核心目錄“Library”目錄下的“Think”;Controller是指“Think”目錄下的“Controller.class.php”文件,將其打開,如圖所示。默認控制器文件“IndexControler.class.php”中的第3行:classIndexControllerextendsController{其中的Controller就是指圖14-24中的Controller類,也就是說IndexController類是繼承自“Controller.class.php”文件中的Controller類。14.4.4ThinkPHP的系統(tǒng)流程系統(tǒng)流程是指用戶每訪問一次網(wǎng)站,系統(tǒng)要執(zhí)行的基本步驟。使用ThinkPHP框架開發(fā)的應用的標準執(zhí)行流程包括以下步驟:(1)用戶的URL請求。(2)調(diào)用入口文件(通常是網(wǎng)站的index.php)。(3)載入框架入口文件(ThinkPHP.php,自動調(diào)用框架必需的類)。(4)加載配置文件(應用配置文件的優(yōu)先級要小于模塊下的配置文件)。系統(tǒng)中的配置文件有很多,系統(tǒng)往往會先加載ThinkPHP核心目錄下的配置文件(位于“ThinkPHP/Conf”目錄下);接下來加載應用目錄下的配置文件(位于“.\Application\common\conf”目錄下);最后加載要訪問模塊下的配置文件。例如,要訪問Home模塊,會加載Ho
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Module 10 Unit 2 You shouldn't be late(說課稿)-2024-2025學年外研版(一起)英語五年級上冊001
- 16 滑輪 說課稿-2023-2024學年科學六年級上冊青島版001
- 3 珍貴的淡水資源(說課稿)-2023-2024學年四年級科學下冊大象版
- 3 我不拖拉 第2課時(說課稿)-2023-2024學年道德與法治一年級下冊統(tǒng)編版
- 2023二年級數(shù)學上冊 二 角的初步認識 銳角和鈍角說課稿 西師大版
- 19《夜宿山寺》說課稿-2024-2025學年二年級上冊語文統(tǒng)編版
- 2023八年級道德與法治上冊 第四單元 維護國家利益 第八課 國家利益至上 第1框 國家好 大家才會好說課稿 新人教版
- 2024年八年級道德與法治下冊 第三單元 人民當家作主 第五課 我國基本制度 第2框 根本政治制度說課稿 新人教版
- 2024年秋九年級歷史上冊 第一單元 古代亞非文明 第3課 古代印度說課稿2 新人教版001
- 2025北京建筑材料購貨合同
- 2022年湖南高速鐵路職業(yè)技術學院單招數(shù)學模擬試題及答案解析
- 小學生必備古詩
- 人教版英語八年級上冊單詞默寫表
- SRE Google運維解密(中文版)
- 綜合性學習公開課《我的語文生活》一等獎課件
- IBM:中建八局ERP解決方案
- 高考語文復習高中語文文言文注釋集萃
- 初中歷史 教材分析與教學策略 課件
- 幼兒剪紙-打印版
- 中小學2021年秋季開學第一課手心班會圖文精品
- 如何提高和加強人力資源隊伍的建設
評論
0/150
提交評論