新聞中心
thinkphp基礎(chǔ)教程:如何創(chuàng)建控制器和url訪問
在上一節(jié)我們講了thinkphp的項(xiàng)目目錄結(jié)構(gòu)部署,其中小編重點(diǎn)提到一個(gè)很重要的Lib目錄,不知大家是否還記得這個(gè)目錄下面放的是控制器和模型?如果還沒閱讀這篇文章,那么建議現(xiàn)在點(diǎn)擊閱讀“thinkphp 3.0主入口文件介紹”。 無憂主機(jī)(www.gle-technology.com)小編今天就來和大家一起學(xué)習(xí)下這個(gè)控制器,什么是控制器?我們從字面可以理解,控制器就是控制程序在運(yùn)行的東西,就像是部隊(duì)的司令一樣,由控制器發(fā)出命令讓底層去執(zhí)行,每個(gè)控制器里面可以有很多個(gè)方法,也稱為動作。好了,講理論的東西比較暈,我們就通過安裝在php虛擬主機(jī)中的一個(gè)實(shí)例來幫助大家理解。我們來到Lib-Action目錄下面可以看到有一個(gè)默認(rèn)的控制器IndexAction.class.php,我們用編輯器打開來看一下里面的代碼: 仔細(xì)分析下,這是一個(gè)類IndexAction,繼承了Action,關(guān)于類和繼承這些東西需要一定的面向?qū)ο蠡A(chǔ)才能看的懂,這些基礎(chǔ)的東西小編建議大家多去看看書,無憂主機(jī)(www.gle-technology.com)小編,在后面也會推出一些php基礎(chǔ)的教程。好,我們繼續(xù)往下看,是一個(gè)公共方法(public) index,在這個(gè)方法里面echo輸出了一些東西,其實(shí)輸出的這些東西我們很熟悉,大家還記得我們執(zhí)行主入口文件看到的界面嗎?我給大家回顧下,看下圖: 因?yàn)樾【幍谋镜卮罱ǖ谋镜豴hp環(huán)境。如果你有興趣像我一樣的php程序運(yùn)行環(huán)境來調(diào)試各類php開源程序,你可以通過參考“手把手教您:個(gè)人電腦搭建php+mysql環(huán)境調(diào)試php程序”中介紹的方法快速搭建一個(gè)可以安裝thinkphp網(wǎng)站的本地php測試環(huán)境。的項(xiàng)目是放在tp目錄下面,所以我直接在瀏覽器里面輸入http://localhost/tp/index.php就看到了一個(gè)歡迎界面,其實(shí)現(xiàn)在看到的這個(gè)界面就是在默認(rèn)的控制器里面的index方法輸出的,如果有疑問的話我們來改動一下index方法里面的代碼,小編改成這樣: 我多加了一句輸出語句,我們現(xiàn)在再來訪問下主入口文件,看看有什么不一樣 看到了吧,只要一修改默認(rèn)控制器里面的index方法,訪問主入口文件就發(fā)生變化了,通過這個(gè)例子說明了,主入口文件默認(rèn)是去訪問index控制器里面的index方法,那如果里面還有其他的方法要怎么去訪問呢? 好,這里引出今天的重點(diǎn),thinkphp是通過URL的模式去訪問控制器的,URL規(guī)范是這樣的,http://域名/主入口文件/控制器/方法 ,比如說你的域名是www.gle-technology.com,主入口文件是index.php,我們要去訪問IndexAction這個(gè)控制器里面的默認(rèn)index方法,就是這樣寫http://www.gle-technology.com/index.php/index/index,以此類推。如果主入口文件后面什么都不加,會默認(rèn)去訪問默認(rèn)控制器里面的默認(rèn)index方法。到這里了解了控制器的訪問規(guī)則要創(chuàng)建它就很簡單了哦,但也要注意命名規(guī)范,我們試著在Lib-Action目錄下面創(chuàng)建一個(gè)控制器user,取名為UserAction.class.php,注意這個(gè)命名規(guī)范,控制器名首字母大寫,后面必須跟上Action,這個(gè)沒有為什么,因?yàn)閠hinkphp就是這樣規(guī)定的。我們在里面寫兩個(gè)方法吧!
<?php class UserAction extends Action{ public function index(){ header("Content-Type:text/html; charset=utf-8"); echo "<h1>這是User控制器下面的index方法(無憂主機(jī)thinkphp演示教程)</h1>"; } public function demo(){ header("Content-Type:text/html; charset=utf-8"); echo "<h1>這是User控制器下面的demo方法(無憂主機(jī)thinkphp演示教程)</h1>"; } } ?>小編寫了一個(gè)index方法和一個(gè)demo方法,分別輸出了一句話,看上面的代碼注意幾點(diǎn)細(xì)節(jié),類名和文件名必須保持一致,此類必須繼承Action,還有THINKPHP是UTF-8的編碼格式,一定要在每個(gè)方法里面指定編碼,不然就出現(xiàn)亂碼了,我們現(xiàn)在來試著訪問下,大家注意看小編瀏覽器的URL路徑(如下圖): 注意觀察兩個(gè)URL和輸出,好了,今天的教程就到這里,知識點(diǎn)比較多,小編建議各位讀者多操作練習(xí)。
純Linux環(huán)境下高端免備案【香港獨(dú)立IP地址】 php空間,僅僅只需199元一年起。商務(wù)中國域名核心代理直銷50元注冊國際頂級域名
本文地址:http://www.gle-technology.com/thinkphp/8563.html