欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

初識(shí)ThinkPHP控制器

 更新時(shí)間:2016年04月07日 16:53:40   投稿:lijiao  
這篇文章主要帶大家了解ThinkPHP控制器的基本定義、基本操作,配置ACTION_SUFFIX,感興趣的小伙伴們可以參考一下

本文的重點(diǎn)講解的ThinkPHP控制器的定義、基本操作內(nèi)容,希望大家可以對(duì)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
 就會(huì)輸出"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改變操作方法書寫方式:

因?yàn)椴僮鞣椒ň褪强刂破鞯囊粋€(gè)方法,所以遇到有和系統(tǒng)的關(guān)鍵字沖突的方法可能就不能定義了,這個(gè)時(shí)候我們可以設(shè)置操作方法的后綴來解決,例如

'ACTION_SUFFIX'         =>  'Action', // 操作方法后綴
設(shè)置操作方法的后綴為Action,這樣,控制器的操作方法定義調(diào)整為:

<?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';
  }
}

空控制器和空操作方法:

空操作是指系統(tǒng)在找不到請(qǐng)求的操作方法的時(shí)候,會(huì)定位到空操作(_empty)方法來執(zhí)行,利用這個(gè)機(jī)制,我們可以實(shí)現(xiàn)錯(cuò)誤頁面和一些URL的優(yōu)化。

上圖所示,當(dāng)訪問:

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

你是怎么找到我的? 

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

以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 '執(zhí)行Index控制器的index操作';
  }
}

可以看到,實(shí)際上我們調(diào)用的是 Home\Controller\IndexController 類的index方法。

 通過配置文件設(shè)置參數(shù)

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

控制器類的定義如下:

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

現(xiàn)在,我們調(diào)用的其實(shí)是 Home\Controller\Index\index 類的run方法。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)php程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論