最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

初識(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方法就是操作方法,訪問(wèn)下面的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è)置操作方法的后綴來(lái)解決,例如

'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)方法來(lái)執(zhí)行,利用這個(gè)機(jī)制,我們可以實(shí)現(xiàn)錯(cuò)誤頁(yè)面和一些URL的優(yōu)化。

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

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訪問(wèn)為 http://serverName/Home/Index/index為例,

原來(lái)的控制器文件定義位置為: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方法。

 通過(guò)配置文件設(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)文章

  • Yii配置文件用法詳解

    Yii配置文件用法詳解

    這篇文章主要介紹了Yii配置文件用法,以實(shí)例形式較為詳細(xì)的分析了項(xiàng)目開發(fā)中的控制器、項(xiàng)目名、pathinfo、日志等的配置技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-12-12
  • orm獲取關(guān)聯(lián)表里的屬性值

    orm獲取關(guān)聯(lián)表里的屬性值

    ORM是關(guān)系對(duì)象模型,本文給大家介紹orm獲取關(guān)聯(lián)表里的屬性值,需要的朋友參考下吧
    2016-04-04
  • PHP中的魔術(shù)方法總結(jié)和使用實(shí)例

    PHP中的魔術(shù)方法總結(jié)和使用實(shí)例

    這篇文章主要介紹了PHP中的魔術(shù)方法總結(jié)和使用實(shí)例,魔術(shù)方法是PHP面向?qū)ο笾刑赜械奶匦?它們?cè)谔囟ǖ那闆r下被觸發(fā),都是以雙下劃線開頭,你可以把它們理解為鉤子,需要的朋友可以參考下
    2015-05-05
  • CodeIgniter基于Email類發(fā)郵件的方法

    CodeIgniter基于Email類發(fā)郵件的方法

    這篇文章主要介紹了CodeIgniter基于Email類發(fā)郵件的方法,結(jié)合實(shí)例形式分析了CodeIgniter調(diào)用CI自帶的Email類實(shí)現(xiàn)發(fā)送郵件的相關(guān)使用技巧,需要的朋友可以參考下
    2016-03-03
  • php根據(jù)分類合并數(shù)組的方法實(shí)例詳解

    php根據(jù)分類合并數(shù)組的方法實(shí)例詳解

    在php中如果是簡(jiǎn)單的數(shù)組合并有很多的方法,但是我今天要求是根據(jù)數(shù)組ID然后重新合并數(shù)組,是要根據(jù)分類來(lái)操作
    2013-11-11
  • Laravel中GraphQL接口請(qǐng)求頻率實(shí)戰(zhàn)記錄

    Laravel中GraphQL接口請(qǐng)求頻率實(shí)戰(zhàn)記錄

    這篇文章主要給大家介紹了關(guān)于Laravel中GraphQL接口請(qǐng)求頻率的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 非常好用的Zend Framework分頁(yè)類

    非常好用的Zend Framework分頁(yè)類

    這篇文章主要介紹了非常好用的Zend Framework分頁(yè)類,包含控制層、模型層、視圖層及分頁(yè)源碼,Css部分請(qǐng)自由發(fā)揮,需要的朋友可以參考下
    2014-06-06
  • Yii2框架中日志的使用方法分析

    Yii2框架中日志的使用方法分析

    這篇文章主要介紹了Yii2框架中日志的使用方法,對(duì)比Yii1.x分析Yii2日志操作的常用方法與相關(guān)使用技巧,需要的朋友可以參考下
    2017-05-05
  • Laravel 集成微信用戶登錄和綁定的實(shí)現(xiàn)

    Laravel 集成微信用戶登錄和綁定的實(shí)現(xiàn)

    這篇文章主要介紹了Laravel 集成微信用戶登錄和綁定的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 基于MySQL到MongoDB簡(jiǎn)易對(duì)照表的詳解

    基于MySQL到MongoDB簡(jiǎn)易對(duì)照表的詳解

    本篇文章是對(duì)從MySQL到MongoDB的簡(jiǎn)易對(duì)照表進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06

最新評(píng)論

婺源县| 沁水县| 波密县| 正宁县| 广宁县| 密云县| 武夷山市| 宜兰市| 胶南市| 黄龙县| 正蓝旗| 五莲县| 炎陵县| 凤庆县| 繁峙县| 大安市| 平塘县| 富民县| 谢通门县| 同德县| 宜兰市| 邛崃市| 姚安县| 仲巴县| 夹江县| 年辖:市辖区| 八宿县| 加查县| 龙岩市| 溧水县| 深泽县| 米脂县| 贵阳市| 宝丰县| 遂昌县| 永城市| 洛宁县| 阜城县| 德惠市| 容城县| 内江市|