小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

ThinkPHP 模塊與操作

 quasiceo 2014-05-02

模塊與操作是 ThinkPHP 中的核心部分,所有的核心邏輯都在這里實現(xiàn)!

ThinkPHP 模塊

進入 Myapp\\Lib\\Action 目錄,里面有個 IndexAction.class.php 文件。該文件為剛才我們運行入口文件 index.php 時系統(tǒng)自動生成的。打開該文件,其內(nèi)容大致如下(方法內(nèi)具體代碼省略):

<?php
// 本類由系統(tǒng)自動生成,僅供測試用途
class IndexAction extends Action{
    public function index(){
        具體代碼略……
    }
}
?>

該文件已經(jīng)演示了一個基于 ThinkPHP 的實際應用。

ThinkPHP 控制器

像上面這個 IndexAction.class.php 這樣的特殊文件,稱為控制器。該類文件通常位于 LibAction 下面,命名方式必須以“模塊名+Action.class.php”樣式來命名,如 IndexAction.class.php ,詳細可參考《ThinkPHP 命名規(guī)范》一節(jié)。

ThinkPHP 模塊

一個控制器對應一個模塊。如 IndexAction.class.php 就對應 Index 模塊,相應的類名為 IndexAction ,如上面的例子:

class IndexAction extends Action

ThinkPHP 操作

一個模塊(類)里有多個方法,稱之為“操作”。如上面例子的 index 方法:

public function index()

我們更改上面的 IndexAction.class.php 為:

<?php
class IndexAction extends Action{
    public function index(){
        header("Content-Type:text/html; charset=utf-8");
        echo "第一個例子測試!";
    }
}
?>

再次訪問網(wǎng)站首頁(入口文件):

http://localhost/index.php

瀏覽器顯示內(nèi)容為在 index 操作中輸出的:

第一個例子測試!

而不是原來的默認歡迎界面。

增加操作

要增加一個操作,只需在模塊里增加一個定義為 public 方法即可。在 IndexAction.class.php 里面新增加一個 test 操作:

public function test(){
    header("Content-Type:text/html; charset=utf-8");
    echo "這是 test 操作";
}

要訪問該操作,瀏覽器地址為:

http://localhost/index.php/Index/test

瀏覽器輸出如下:

這是 test 操作

可見要訪問其他方法,需要在入口文件 URL 地址后面加上“模塊/操作”才可以。關(guān)于通過入口文件 URL 地址訪問模塊方法的具體信息,請參看《ThinkPHP URL 訪問模式》一節(jié)。

同模塊調(diào)用其他操作

在同一個模塊中,一個操作常常要調(diào)用其他操作(一般都是私有方法,通常都是獨立的能被重復使用的功能模塊),由于是在一個模塊里(一個類里),因此使用 $this 可以很方便的調(diào)用其他操作:

<?php
class IndexAction extends Action{
    public function index(){
        header("Content-Type:text/html; charset=utf-8");
        echo "第一個例子測試!";
	$this->test();
    }
}
?>

上面是將前面的 index 操作加上調(diào)用 test 操作的例子,運行 index 操作輸出如下:

第一個例子測試!這是 test 操作

可見不僅 index 里面的 echo 語句執(zhí)行了,test 操作里面的 echo 也執(zhí)行了。這部分是屬于 PHP 類與對象的知識,更多請參見PHP基礎(chǔ)教程之《PHP 類與對象》一節(jié)的內(nèi)容。

跨模塊調(diào)用操作的例子,請參見本節(jié)《ThinkPHP 跨模塊調(diào)用操作方法》一文的內(nèi)容。

小結(jié)

  1. 控制器類文件名為 IndexAction.class.php 這種固定格式,對應 Index 模塊,類名為 IndexAction
  2. 我們自定義的模塊里面的類由 ThinkPHP的 基類 Action 繼承而來,其遵循 PHP 的類繼承屬性
  3. 一個 Web 頁面對應一個方法(反之則不一定),且該方法必須定義為 public 類型
  4. 一個控制器文件里面只能有一個模塊可用,但模塊(類)可以有多個方法,也可以沒有方法

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多