您的位置:首页 > 编程语言 > PHP开发

ThinkPHP控制器

2015-10-01 17:28 716 查看
1. 定义
   a.控制器是一个PHP类,需要继承自ThinkPHP的核心类Controller
   b.以Public修饰的方法是操作方法,可以从外部访问
   c.前置和后置操作是在执行某个操作方法之前和之后会自动调用的方法
   d.通过配置ACTION_SUFFIX的值来改变操作方法的书写形式
   e.空控制器和空操作方法
   f.操作绑定到类
   g.调用的四种方法:自动定位、new实例化、A函数、R函数
代码操作:
index()是一个操作方法。
public function index(){}
public function _before_index(){}
public function _after_index(){}
直接访问操作方法: http://localhost/jike/index.php/Home/index/foo Controller里面我新建了一个:UserController.class.php代码有:

<?php
namespace Home\Controller;
use Think\Controller;
class UserController extends Controller{


public function index(){
echo "user.index";
}


public function edit(){
echo "user.edit";
}


public function login(){
echo "user.login";
}


}

现在我要访问login的操作方法:
在地址栏中输入:http://localhost/jike/index.php/Home/User/login 或者 http://localhost/jike/index.php/Home/User/login.html config.php加入代码:
'URL_MODEL' => 2, //默认为1
'URL_HTML_SUFFIX' => 'shtml', //伪静态后缀会变为.shtml

  public function foo(){
    echo "list";
   }

foo()假如使用系统关键字list,listAction(){}没用用啊?? config.php添加代码:'ACTION_SUFFIX' => 'Action' 操作方法后缀,没有用啊。

空控制器和空操作

Controller下,新建EmptyController.class.php

浏览器地址栏中输入:http://localhost/jike/index.php/Home/user/index ,即输入错误的路径。

<?php
namespace Home\Controller;
use Think\Controller;
class EmptyController extends Controller{

public function _empty(){
echo "How you find me, this is error null operation.";
}

}

绑定到类也没有操作成功。

public function run(){
echo "bind action";
}

2. URL模式

3. 跳转和AJAX数据返回
4. 获取输入变量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: