企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## **自定义变量输出** 输出自定义变量之前我们需要给模版分配变量 ### **assign($string, $value)** ~~~ $data1['name'] = 'ThinkPHP'; $data1['email'] = 'thinkphp@qq.com'; $view->assign('data1',$data1); $data2=new stdClass(); $data2->name= = 'ThinkPHP'; $data2->email = 'thinkphp@qq.com'; $view->assign('data2',$data2); ~~~ 模版输出: ~~~ {$data1.name} //或者 {$data1['name']} ~~~ ~~~ {$data2:name} //或者 {$data2->name} ~~~ ### **assign($arr)** ``` \think\facade\View::assign(["name"=>"dash", 'age'=>18]); return \think\facade\View::fetch('form_builder/test'); ``` 模板输出 ``` <div> {$name}{$age} </div> ``` ### **模板变量的调试** ``` {volist name="form_items" id="form"} {php}var_dump($form);{/php} {/volist} 结果: array(10) { ["type"]=> string(8) "textarea" ["name"]=> string(8) " remarks" ["title"]=> string(6) "备注" ["tips"]=> string(6) "备注" ["value"]=> string(9) "风格和" ["extra_class"]=> string(0) "" ["extra_attr"]=> string(21) "readonly = "readonly"" ["placeholder"]=> string(15) "请输入备注" ["required"]=> bool(false) ["rows"]=> int(3) } ... ``` ### **模板输出设置默认值** ~~~ {$user.nickname|default="这家伙很懒,什么也没留下"} {$Think.get.name|default="名称为空"} ~~~ 我们可以对模板输出使用运算符,包括对“+”“-” “\*” “/”和“%”“++”“--”的支持。 ~~~ {$user.score+10} //正确的 {$user['score']+10} //正确的 {$user['score']*$user['level']} //正确的 {$user['score']|myFun*10} //错误的 {$user['score']+myFun($user['level'])} //正确的 ~~~ ## **系统变量输出** 系统变量不需要给模版分配变量,可以直接在模板中输出 ~~~ {$Think.server.script_name} // 输出$_SERVER['SCRIPT_NAME']变量 {$Think.session.user_id} // 输出$_SESSION['user_id']变量 {$Think.get.pageNumber} // 输出$_GET['pageNumber']变量 {$Think.cookie.name} // 输出$_COOKIE['name']变量 ~~~ 支持输出`$_SERVER`、`$_ENV`、`$_POST`、`$_GET`、`$_REQUEST`、`$_SESSION`和`$_COOKIE`变量。 ## 输出常量 ~~~ {$Think.const.APP_PATH} //或者直接使用 更多参考系统目录 {$Think.APP_PATH} //系统常量会随着开发环境的改变或者设置的改变而产生变化 //是否属于Windows 环境 {$Think.IS_WIN } //是否属于命令行模式 {$Think.IS_CLI } //开始运行时间(时间戳) {$Think.THINK_START_TIME} //开始运行时候的内存占用 {$Think.THINK_START_MEM } //环境变量配置前缀 {$Think.ENV_PREFIX } //预定义常量是指系统内置定义好的常量,不会随着环境的变化而变化,包括: //类库文件后缀(.php) {$Think.EXT} //框架版本号 {$Think.THINK_VERSION} ~~~ ## 配置输出 输出配置参数使用: ~~~ {$Think.config.default_module} {$Think.config.default_controller} ~~~ ## 语言变量 输出语言变量可以使用: ~~~ {$Think.lang.page_error} {$Think.lang.var_error} ~~~