日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php tp3 操作绑定到类,操作绑定到类 · ThinkPHP3.2.3完全开发手册 · 看云

發布時間:2023/12/4 php 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php tp3 操作绑定到类,操作绑定到类 · ThinkPHP3.2.3完全开发手册 · 看云 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

## 定義

ThinkPHP3.2版本提供了把每個操作方法定位到一個類的功能,可以讓你的開發工作更細化,可以設置參數**ACTION_BIND_CLASS**,例如:

~~~

'ACTION_BIND_CLASS' => True,

~~~

設置后,我們的控制器定義有所改變,以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**方法。

設置后,控制器文件位置改為:

~~~

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**方法。

> run方法依舊可以支持傳入參數和進行Action參數綁定操作,但不再支持A方法實例化和R方法遠程調用,我們建議R方法不要進行當前訪問控制器的遠程調用。

## 前置和后置操作

當設置操作方法綁定到類后,前置和后置操作的定義有所改變,只需要在類里面定義`_before_run`和`_after_run`方法即可,例如:

~~~

namespace Home\Controller\Index;

use Think\Controller;

class index extends Controller{

public function _before_run(){

echo 'before_'.ACTION_NAME;

}

public function run(){

echo '執行Index控制器的index操作';

}

public function _after_run(){

echo 'after_'.ACTION_NAME;

}

}

~~~

## 空控制器

操作方法綁定到類后,一樣可以支持空控制器,我們可以創建 `Application/Home/Controller/_empty`目錄,即表示如果找不到當前的控制器的話,會到_empty控制器目錄下面定位操作方法。

例如,我們訪問了URL地址 `http://serverName/Home/Test/index`,但并不存在 `Application/Home/Controller/Test`目錄,但是有定義 `Application/Home/Controller/_empty`目錄。

并且我們有定義:

~~~

Application/Home/Controller/_empty/index.class.php

~~~

控制器定義如下:

~~~

namespace Home\Controller\_empty;

use Think\Controller;

class index extends Controller{

public function run(){

echo '執行'CONTROLLER_NAME.'控制器的'.ACTION_NAME.'操作';

}

}

~~~

訪問`http://serverName/Home/Test/index`后 輸出結果顯示:

~~~

執行Test控制器的index操作

~~~

## 空操作

操作綁定到類后,我們依然可以實現空操作方法,我們只要定義一個 `Home\Controller\Index\_empty`類,就可以支持Index控制器的空操作訪問,例如: 控制器定義如下:

~~~

namespace Home\Controller\Index;

use Think\Controller;

class _empty extends Controller{

public function run(){

echo '執行Index控制器的'.ACTION_NAME.'操作';

}

}

~~~

當我們訪問`http://serverName/Home/Index/test`后 輸出結果顯示:

~~~

執行Index控制器的test操作

~~~

總結

以上是生活随笔為你收集整理的php tp3 操作绑定到类,操作绑定到类 · ThinkPHP3.2.3完全开发手册 · 看云的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。