91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何正確的使用ThinkPHP控制器

發布時間:2020-12-15 16:30:01 來源:億速云 閱讀:268 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關如何正確的使用ThinkPHP控制器,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

如何正確的使用ThinkPHP控制器

最基本的控制器:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
  public function index(){

  }
  public function hello(){
    echo 'hello';
  }
}

控制器的名稱采用駝峰法命名(首字母大寫),控制器文件位于 Application/Home/Controller/IndexController.class.php

IndexController控制器類的hello方法就是操作方法,訪問下面的URL地址:

http://serverName/Home/Index/hello
 就會輸出"hello"

前置和后置操作:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {

  public function _before_index(){
    echo "index.before<br>";
  }

  public function index(){
    echo "index<br>";
  }

  public function _after_index(){
    echo "index.after<br>";
  }
}

配置ACTION_SUFFIX改變操作方法書寫方式:

因為操作方法就是控制器的一個方法,所以遇到有和系統的關鍵字沖突的方法可能就不能定義了,這個時候我們可以設置操作方法的后綴來解決,例如

'ACTION_SUFFIX'         =>  'Action', // 操作方法后綴
設置操作方法的后綴為Action,這樣,控制器的操作方法定義調整為:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
  public function listAction(){
    echo 'list';
  }

  public function helloAction(){
    echo 'hello';
  }

  public function testAction(){
    echo 'test';
  }
}

空控制器和空操作方法:

空操作是指系統在找不到請求的操作方法的時候,會定位到空操作(_empty)方法來執行,利用這個機制,我們可以實現錯誤頁面和一些URL的優化。

如何正確的使用ThinkPHP控制器

上圖所示,當訪問:

http://serverName/index.php/Home/City/beijing/
由于City控制器并沒有定義beijing、shanghai或者shenzhen操作方法,因此系統會定位到空操作方法 _empty中去解析,_empty方法的參數就是當前URL里面的操作名,因此會看到依次輸出的結果是:

你是怎么找到我的? 

操作綁定到類: (作用:可以實現為每個操作方法定義一個類,而不是控制器類的一個方法)

以URL訪問為 http://serverName/Home/Index/index為例,

原來的控制器文件定義位置為:Application/Home/Controller/IndexController.class.php

控制器類的定義如下:

namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller{
  public function index(){
    echo '執行Index控制器的index操作';
  }
}

可以看到,實際上我們調用的是 Home\Controller\IndexController 類的index方法。

 通過配置文件設置參數

'ACTION_BIND_CLASS'    =>    True,
設置后,控制器文件位置改為:Application/Home/Controller/Index/index.class.php

控制器類的定義如下:

namespace Home\Controller\Index;
use Think\Controller;
class index extends Controller{
  public function run(){
    echo '執行Index控制器的index操作';
  }
}

現在,我們調用的其實是 Home\Controller\Index\index 類的run方法。
以上就是如何正確的使用ThinkPHP控制器,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南召县| 蓬溪县| 仙居县| 瑞安市| 阿克陶县| 中阳县| 三门峡市| 凤阳县| 肇源县| 辽源市| 冀州市| 鹿泉市| 伊吾县| 随州市| 南通市| 海淀区| 石楼县| 东兴市| 诏安县| 和田市| 鹰潭市| 饶平县| 稷山县| 渝中区| 柳林县| 滨州市| 罗定市| 扶风县| 图们市| 平江县| 皋兰县| 赣榆县| 濮阳县| 云阳县| 大竹县| 九寨沟县| 武安市| 河西区| 东乌| 麻江县| 新田县|