变量输出
- 上一节课视图赋值讲到过,模版的变量的输出方式,控制器实现赋值;
$this->assign('name', 'ThinkPHP');
- 当模版位置创建好后,输出控制器的赋值变量时,说你用花括号和$符号;
{$name}
- 当程序运行的时候,会在 runtime/temp 目录下生成一个编译文件;
<?php echo htmlentities($name); ?>
- 如果传递的值是数组,那么编译文件也会自动相应的对应输出方式;
在页面中$data['username'] = '辉夜';
$data['email'] = 'huiye@163.com';
$this->assign('user', $data);
模版调用:{$user.username}.{$user.email} //或{$user['email']}
编译文件:<?php echo htmlentities($user['username']); ?>
- 如果传递的值是对象,那么编译文件也会自动相应的对应输出方式;
在页面中$obj = new \stdClass();
$obj->username = '辉夜';
$obj->email = 'huiye@163.com';
$this->assign('obj', $obj);
模版调用:{$obj->username}.{$obj->email}
编译文件:<?php echo htmlentities($obj->username); ?>
- 如果是模型对象的数据列表,数组和对象方式均可;
其它输出
- 如果输出的变量没有值,可以直接设置默认值代替;
{$user.username|default='没有用户名'}
- 使用$Think.xxx.yyy 方式,可以输出系统的变量;
3. 系统变量有:$_SERVER、$_ENV、$_GET、$_POST、$_REQUEST、$_SESSION 和$_COOKIE;{$Think.get.name} //其它雷同
- 除了变量,常量也可以在模版直接输出;
{$Think.const.PHP_VERSION}
{$Think.PHP_VERSION}
- 系统配置也可以直接在模版输出,配置参数可以在 config 文件下;
{$Think.config.default_return_type}