乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      ThinkPHP 模塊與操作

       quasiceo 2014-05-02

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

      ThinkPHP 模塊

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

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

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

      ThinkPHP 控制器

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

      ThinkPHP 模塊

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

      class IndexAction extends Action
      

      ThinkPHP 操作

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

      public function index()
      

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

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

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

      http://localhost/index.php
      

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

      第一個(gè)例子測試!
      

      而不是原來的默認(rèn)歡迎界面。

      增加操作

      要增加一個(gè)操作,只需在模塊里增加一個(gè)定義為 public 方法即可。在 IndexAction.class.php 里面新增加一個(gè) 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)用其他操作

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

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

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

      第一個(gè)例子測試!這是 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 這種固定格式,對應(yīng) Index 模塊,類名為 IndexAction
      2. 我們自定義的模塊里面的類由 ThinkPHP的 基類 Action 繼承而來,其遵循 PHP 的類繼承屬性
      3. 一個(gè) Web 頁面對應(yīng)一個(gè)方法(反之則不一定),且該方法必須定義為 public 類型
      4. 一個(gè)控制器文件里面只能有一個(gè)模塊可用,但模塊(類)可以有多個(gè)方法,也可以沒有方法

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多