2、变量 赋值 输出
一 控制器传递变量
1)assign方法
//1、向页面传递单个变量 View::assign('name','李白'); //2 向页面传递多个变量 [ 必须用数组 ] View::assign(['name'=>'李白','age'=>'100']); //3 向页面传递多维数组 $arr = [ ['name'=>'李白','age'=>100], ['name'=>'杜甫','age'=>150] ]; View::assign('arr',$arr); View::assign(['arr'=>$arr]); //4 向页面传递对象 View::assign('obj',$this); View::assign(['obj'=>$this]);
控制器定义的常量模板页可以直接使用
2)fetch方法 (助手函数 view 就是该方法)
//1、向页面传递单个或多个变量( 必须用数组 ) return View::fetch('',['name' => '李白','age'=>'100']); //2、向页面传递数组 $arr = [ ['name'=>'jack'], ['age'=>50] ]; return View::fetch('',['data' => $arr]); //3、向页面传递对象 return View::fetch('',['obj' => $this,]);
二 模板页定义变量
//1 定义变量 View::assign('name','李白'); {assign name="teacher" value="$name"}//[value支持变量 和 系统变量] {$teacher} //2 定义常量 View::assign('name','李白'); {define name="TEACHER" value="$name"}//[value支持变量 和 系统变量]
{$Think.const.TEACHER}
三 变量输出
1)普通变量
{$之间不能有空格
{$name}//输出变量 {$arr.name}//输出一维数组 {$arr['0']['name']}//输出二维数组 {$Think.const.CONST_NAME}//输出常量 {$Think.PHP_VERSION}//输出常量 [PHP版本] 省略const不写 {$obj->name}//调用对象属性 {$obj->demo()}//调用对象方法 {$obj::say()}//调用静态方法 {$obj->say()}//调用静态方法 {$obj::CONST_NAME}//调用对象常量
{}//如何调用静态属性
2)配置文件输出
{$Think.config.app.app_host}
{$Think.config.session.name}
{$Think.config.app.error_message}
3)输出系统变量
支持: $_SERVER $_ENV $_POST $_GET $REQUEST $_SESSION $_COOKIE
基础语法:$Request.方法名.参数 (R必须大写)
{$Request.get.id}//输出系统变量 {$Request.server.script_name} // 输出$_SERVER['SCRIPT_NAME']变量 {$Request.session.user_id} // 输出$_SESSION['user_id']变量 {$Request.get.page} // 输出$_GET['page']变量 {$Request.cookie.name} // 输出$_COOKIE['name']变量
4)支持request类的大部分方法 但只支持方法的第一个参数
{$Request.param.name} // 调用Request对象的param方法 传入参数为name
{$Request.param.user.nickname}// 调用Request对象的param方法 传入参数为user.nickname
{$Request.root} // 调用Request对象的root方法
{$Request.root.true} // 调用Request对象的root方法,并且传入参数true
{$Request.path} // 调用Request对象的path方法
{$Request.module} // 调用Request对象的module方法
{$Request.controller}// 调用Request对象的controller方法
{$Request.action} // 调用Request对象的action方法
{$Request.ext} // 调用Request对象的ext方法
{$Request.host} // 调用Request对象的host方法
{$Request.ip} // 调用Request对象的ip方法
{$Request.header.accept-encoding}// 调用Request对象的header方法
5)没有搞懂的
//语言变量 {$Think.lang.page_error} {$Think.lang.var_error} //扩展解析 $template->extend('$Cms', function(array $vars) { return implode('.', $vars); });

浙公网安备 33010602011771号