Tp框架 之對控制器的一些操作等


在瀏覽器中輸入tp框架入口文件的地址,如圖

要注意,localhost/后面跟的是www的下一級,tp文件的上一級,因為我直接把tp文件做成了www目錄的下一級,所以我寫的地址localhost后面跟的就是tp

打上目錄后回車,就會出來tp的主頁面,如圖

 

 再隨便打上一個沒有的操作方法,如

 

打出的這個頁面,暴露了很多信息,不太安全,所以我們要控制住,。

像這種操作本來沒有的,叫做空操作

要改變這種,我們可以提供一種方法

從這個目錄下找

 

可以在這個文件中查找雙下划線打頭的call方法

在這個位置搜到了call方法

當我們進行空操作的時候,它會走這個方法里面的else

我們要解決空操作,有兩種方法,要么讓它走上面的if,要么走上面的elseif

 先來看elseif

我們可以給這種方法做一個模板

像這個test,沒有的話,我們就要做一個test模板

在這個路徑下新建一個test.html

在test文件里面就可以寫html代碼了

保存后刷新一下瀏覽器

這樣就能輸出一句話了

可能控制住空操作,但這種方式不好

如果用戶不寫test了,寫個別的,依然還是不行

只有在輸入test才可以

所以這種方式是不太現實的

那我們再來看另一種方式

這個需要我們在自己的控制器里再加一個方法

控制器的目錄在上篇博客中有

保存后刷新一下頁面

再隨便輸一個

 

 再改一個

加上這個方法之后,用戶輸入任何不存在的,都會輸出這句話

這樣就把空操作給控制住了

到時候做網頁的時候,可以把這個頁面做的好看一點

除了這個操作方法之外,還有一個

有可能控制器也會寫錯

下面我們就來做一下怎么控制空控制器

在控制器這里新建一個文件

里面寫上內容

然后運行一下

再重新隨便改個控制器

這樣就把空控制器給控制好了

來總結一下這兩種情況

空操作的話,就在控制器里面加_empty方法

空控制器的話,就在controller里面新建一個控制器,控制器里面,一樣要寫_empty方法

如果在控制器里要訪問其他方法

在控制器里先寫兩個方法

怎么樣在test里面訪問ceshi方法

在test里面寫這樣一句代碼

刷新一下頁面,試試能不能調出來

運行成功

再來看一下跨控制器怎么來調用

新建一個控制器

在里面添加內容,然后輸出一句話

還是用Login控制器的內容,test調用mtest的內容

 

 然后運行一下頁面,看看能不能調取成功

運行成功

跨控制器訪問,我們可以通過A方法,造Main控制器,然后直接調用它里面的內容就可以了

除了這種方式,還有一種方式

造一個新的Main控制器,然后調用里面的內容,運行一下

運行成功

所以跨控制器訪問有兩種方式

一種是new 一個控制器,另一種是用A方法

 

再來看一下跨模塊控制器訪問能不能行

找到Shop目錄下的另一個模塊

然后在Home里面新建一個控制器

然后在里面輸上內容

下面再來寫Login控制器的內容,還是讓test頁面來顯示

 

 還是使用A方法,多加了一個Home模塊,這里的斜杠,用的是路徑的斜杠

來運行一下看看行不行

運行成功,說明跨模塊訪問,也可以用A方法,在跨控制器的基礎上多加一個模塊名就可以,如果加模塊名的話就是該模塊下的控制器,如果不加模塊名的話,就是當前模塊的控制器

當然跨模塊訪問也可以使用new,來看一下怎么寫

這個使用的是命名空間的知識下一篇博客里會講

來運行一下看看行不行

運行成功

反斜杠的意思就是初始命名空間的意思

除了這兩種方法還有一種

R方法

這樣寫就可以把Main控制器下的mtest調出來了

如果要調別的模塊的話,可以這樣寫

運行一下

運行成功

A方法是造對象

R方法是調用方法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM