ThinkPHP框架基础之控制器篇


 

ThinkPHP框架基于MVC模式,其中控制器则是重中之重,也是MVC中的核心部分。


 

自定义控制器:

<?php
namespace Home\Controller;
use Think\Controller;
class DemoController extends Controller
{
    public function test()
    {
        echo "hello world";
    }

以上则完成了控制器Demo的创建,如若访问,则需要访问其中的test方法;

tp框架url地址可以由以下四种

  1. http://网址/index.php?m=XX&c=XX&a=XX   基本get模式
  2. http://网址/index.php/模块/控制器/操作方法  路径模式pathinfo
  3. http://网址/模块/控制器/操作方法           rewrite重写模式
  4. http://网址/index.php?s=/模块/控制器/方法    兼容模式

 

注册变量,显示模板与smarty相似:

public function showtest()
    {
        $attr = array("one"=>100,"two"=>200);
        $this->assign("attr",$attr);//注册变量
        $this->assign("example","sacrifice");//注册变量
        $this->display();//显示模板
    }

空操作和空控制器的相关处理:

空操作:

在控制器中定义一个方法:

public function _empty() //空操作时调用此方法
    {
        echo "空操作";
    }

空控制器:

在项目控制器文件中定义一个空控制器:

<?php
namespace Home\Controller;
use Think\Controller;
class EmptyController extends Controller
{
    public function _empty()
    {
        echo "空控制器";
    }
}

跨控制器/模块调用:

    //跨平台调用控制器方法
    public function demo1()
    {
        //造对象
        $demo = new IndexController();
        echo $demo->index();
        //A方法造对象
        $oop = A("index");
        echo $oop->index();
        //R方法造对象同时执行里面的方法
        echo R("index/index");    
    }
    //跨模块调用控制器方法
    public function demo3()
    {
        $oop = A("模块名/方法名");
        echo $oop->方法名;
       echo R("模块名/控制器/方法名");
    }

获取系统常量:get_defined_constants(true)

几个常用常量:

以http://localhost/thinkphp/index.php/Home/Demo/xianshi为例:

'__ROOT__' => 

string

'/thinkphp' (length=9);
'__INFO__' => 'Home/Demo/xianshi' (length=17);
'__SELF__' => '/thinkphp/index.php/Home/Demo/xianshi' (length=37);
'__APP__' => '/thinkphp/index.php' (length=19);
'__MODULE__' => '/thinkphp/index.php/Home' (length=24);
'__CONTROLLER__' => '/thinkphp/index.php/Home/Demo' (length=29);
'__ACTION__' =>  '/thinkphp/index.php/Home/Demo/xianshi' (length=37)

 
 
 
 
 
 
 

 

转载于:https://www.cnblogs.com/Itwonderful/p/5587994.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值