ThinkPHP8视图赋值与渲染

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客

《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书

在控制器操作中,使用view函数可以传入视图变量并渲染模板,其语法如下:

复制代码
view(视图名称, 模板变量);

需要注意的是,默认情况下生成的应用会采用Think模板驱动,ThinkPHP 8并不内置该驱动类,因此建议使用PHP语法进行模板渲染,而不是私有的ThinkPHP语法。

编辑config/view.php视图文件配置,示例如下:

复制代码
return [
    // 模板引擎类型使用Think
    'type'          => 'php',
    // 默认模板渲染规则 1 解析为小写+下划线 2 全部转换小写 3 保持操作方法
    'auto_rule'     => 1,
    // 模板目录名
    'view_dir_name' => 'view',
    // 模板后缀
    'view_suffix'   => 'php',
    // 模板文件名分隔符
    'view_depr'     => DIRECTORY_SEPARATOR,
];

上面配置文件中,注意"'view_suffix' => 'php',",表示视图文件后缀名为".php",我们可以把这个后缀名改为".html",表示视图文件的后缀名为".html",具体格式读者可自行研究。为了统一和方便掌握,本书的视图文件后缀名统一配置成"php"进行讲解。

【示例9-1】

本示例演示Index控制器的index方法操作渲染视图,我们通过index方法向index视图传递了name和content两个模板变量:

复制代码
<?php
//本文件为app/controller/Index.php
namespace app\controller;

class Index
{
    public function index()
    {
        return view('index',[
            'name' => '标题',
            'content' => '内容'
        ]);
    }
}

对应的模板文件路径为app/view/index/index.php文件(注意文件所在的目录),示例如下:

复制代码
<h1><?=$name?></h1>
<h2><?=$content?></h2>

执行php think run命令运行开发服务器,在浏览器中访问http://127.0.0.1:8000,页面上成功输出"标题"和"内容"的字样。

相关推荐
SmartRadio3 小时前
在MT8791 5G硬件平台上舍弃安卓系统-运行OpenWRT系统
android·5g·mt8791
虫小宝4 小时前
导购APP高可用数据库设计:主从分离与分库分表在返利系统中的应用
android·数据库
我命由我123454 小时前
Android Jetpack Compose - TopAppBar、BottomAppBar、Scaffold
android·java·java-ee·kotlin·android studio·android jetpack·android-studio
猫头虎4 小时前
Claude Code 永动机:ralph-loop 无限循环迭代插件详解(安装 / 原理 / 最佳实践 / 避坑)
ide·人工智能·langchain·开源·编辑器·aigc·编程技术
REDcker4 小时前
Android WebView 升级 - WebViewUpgrade 库使用详解
android·华为·harmonyos·webview
我命由我123455 小时前
Android Studio - Android Studio 去除 import 的未使用的类
android·java·ide·学习·java-ee·android studio·学习方法
ii_best5 小时前
安卓/ios脚本开发辅助工具按键精灵横纵坐标转换教程
android·开发语言·ios·安卓
BD_Marathon5 小时前
SpringMVC——5种类型参数传递
android·java·数据库
a3158238065 小时前
Android 大图显示策略优化显示(二)
android·java·开发语言·javascript·kotlin·glide·图片加载
火柴就是我6 小时前
Flutter 混合模式下:saveLayer 混合注意点
android·flutter