thinkphp3.2--视图、控制器、模型交互

1、控制器给前台传递变量:

    控制器:

        $userinfo = '111';

        $this->assign('userinfo',$userinfo);

        $this->display();

        //$this->display("Index/codeigniter/codeigniter_1");  //显示到指定页面

    视图:

    用户信息:{$userinfo}


2、tp3.2.3视图页面直接访问:

    http://localhost/项目目录/Application(应用目录)/模块目录/View/Index/thinkphp/thinkphp_1.html

    

3、跨控制器调用: A() 方法 和 R()方法

【跨控制器调用】:

A("项目://模块/控制器")  实例化控制器对象

A("Home/User")    实例化User控制器对象

A("book://Home/User")    实例化book项目的Home模块的User控制器对象


A("[分组模块/]控制器标志")           实例化控制器

R("[分组模块/]控制器标志/操作方法")  实例化控制器同时直接调用制定方法

R("User/number")   ====   $user =A("User"); echo $user ->number()

        new UserController();                  直接实例化制定的控制器


【跨模块调度】

$User = A('User');     //表示实例化当前项目的User模块 

A('Admin://User')       //表示实例化Admin项目的User模块

A('Admin/User')         //表示实例化Admin分组的User模块

A(‘Admin://Tool/User’)     //表示实例化Admin项目Tool分组的User模块


R('User/info')    //表示实例化当前项目的User模块的info操作方法

R('Admin/User/info')    //表示实例化Admin分组的User模块的info操作方法

R('Admin://Tool/User/info')    //表示实例化Admin项目Tool分组的User模块的info操作方法


// 假设当前控制器是 user, 调用 log 控制器的 logger() 方法

$LogController = A('Log');

$re = $LogController -> logger();



4、D()方法的使用:

class IndexAction extends Action{
    public function fanwei(){
        $user = D('User');
        $data = $user->score('jige,ziduan')->select();
        echo M()->getLastSql();
    }
}

class UserModel extends CommonModel{
    protected $_scope = array(
        /*命名范围的标识名 => array(
        '属性'=>'值',
        支持的方法有:where limit field order table page having group disinct
        )*/
        'jige'=>array(
            'where' = array(
            'score' =>array('egt',60) ,
        ),
        'order'=>'id desc',
            'limit'=>10
        ),
        'ziduan'=>array(
        'field'=>'nick_name,score',
            'limit'=>5
        )
    );
}


冷暖自知一抹茶ck
请先登录后发表评论
  • 最新评论
  • 总共0条评论