thinkphp6 入门(2)--视图、渲染html页面、赋值

embedded/2024/11/19 23:40:24/

use think\facade\View;View::assign(['name'  => 'ThinkPHP','email' => 'thinkphp@qq.com']);View::assign('data',['name'  => 'ThinkPHP','email' => 'thinkphp@qq.com']);
View::fetch('index');助手函数
view('index', ['name'  => 'ThinkPHP','email' => 'thinkphp@qq.com'
]);
模板输出
{$name}
{$data.name} 等价 {$data['name']}
{:dump($data)} 使用函数 :开头
{$user.nickname|default="这家伙很懒,什么也没留下"}
{$Think.cookie.name}  // 输出$_COOKIE['name']变量
{$Think.server.script_name} // 输出$_SERVER['SCRIPT_NAME']变量
{$Think.session.user_id} // 输出$_SESSION['user_id']变量
{$Think.get.page} // 输出$_GET['page']变量
{$Request.param.name} 获取name
{$data.name|raw} 不转义输出
{$data.create_time|date='Y-m-d H:i'}
{literal}Hello,{$name}!
原样输出
{/literal}
{load href="/static/js/common.js,/static/js/common.css" /} 加载js,css
{php}echo 'Hello,world!';{/php}{/* 注释内容 */ } 或 {// 注释内容 }
{include file="public/header" /} 模板包含
{include file="Public/header" title="$title" keywords="开源WEB开发框架" /} 传入参数{foreach $list as $key=>$vo } {$vo.id}:{$vo.name}
{/foreach}{for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" }
{/for}{if 表达式}value1
{elseif 表达式 /}value2
{else /}value3
{/if}

本文app的名称为test,在其下新建一个控制器User,表示调用User控制器下面的index模板。

注意:需要引用think\facade\View来操作视图

<?phpnamespace app\test\controller;
use app\BaseController;
use think\facade\View;class User extends BaseController
{// 渲染页面public function index(){// 变量赋值View::assign('name','张三');// 模板输出return View::fetch('user/index');}
}

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>用户详情</title>
</head>
<body><h1>用户详情</h1><p>我是<?php echo $name ?></p>
</body>
</html>

4. 浏览器访问

访问地址 http://localhost/index.php/test/user/index

5. 若有外部样式文件,则放到public/static文件夹

在html中通过下列的方式进行引用


http://www.ppmy.cn/embedded/138903.html

相关文章

集群聊天服务器(12)nginx负载均衡器

目录 负载均衡器nginx负载均衡器优势 如何解决集群聊天服务器跨服务器通信问题&#xff1f;nginx的TCP负载均衡配置nginx配置 负载均衡器 目前最多只能支持2w台客户机进行同时聊天 所以要引入集群&#xff0c;多服务器。 但是客户连哪一台服务器呢&#xff1f;客户并不知道哪一…

【jvm】方法区的理解

目录 1. 说明2. 方法区的演进3. 内部结构4. 作用5.内存管理 1. 说明 1.方法区用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码缓存等数据。它是各个线程共享的内存区域。2.尽管《Java虚拟机规范》中把方法区描述为堆的一个逻辑部分&#xff0c;但它却…

泷羽sec渗透DC靶场(1)完全保姆级学习笔记

前言 本次学习的是在b站up主泷羽sec课程完整版跳转链接有感而发&#xff0c;如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识&#xff0c;以下网站只涉及学习内容&#xff0c;其他的都与本人无关&#xff0c;切莫逾越法律红线&#xff0c;否则后果自负。 &#xff0…

SQLite3 JDBC Java工具类

最近生产环境mysql各种无法使用&#xff0c;要求下线。有一堆小工具&#xff0c;平时因为mysql用着方便&#xff0c;配置啊&#xff0c;临时的一些比对数据存在里面。迁移很麻烦。 发现SQLite 3.47.0版本之后&#xff0c;性能大增&#xff0c;支持多线程&#xff0c;记录级锁。…

深入解析GIC中断处理与内核初始化:基于Linux 4.9.88内核的详细分析

往期内容 本专栏往期内容&#xff0c;interrtupr子系统&#xff1a; 深入解析Linux内核中断管理&#xff1a;从IRQ描述符到irq domain的设计与实现Linux内核中IRQ Domain的结构、操作及映射机制详解中断描述符irq_desc成员详解Linux 内核中断描述符 (irq_desc) 的初始化与动态分…

IPv6基础知识

IPv6是由IEIF提出的互聯網協議第六版&#xff0c;用來替代IPv4的下一代協議&#xff0c;它的提出不僅解決了網絡地址資源匱乏問題&#xff0c;也解決了多種接入設備接入互聯網的障礙。IPv6的地址長度為128位&#xff0c;可支持340多萬億個地址。如下圖&#xff0c;3ffe:1900:fe…

网络安全、Web安全、渗透测试之笔经面经总结(三)

本篇文章涉及的知识点有如下几方面&#xff1a; 1.什么是WebShell? 2.什么是网络钓鱼&#xff1f; 3.你获取网络安全知识途径有哪些&#xff1f; 4.什么是CC攻击&#xff1f; 5.Web服务器被入侵后&#xff0c;怎样进行排查&#xff1f; 6.dll文件是什么意思&#xff0c;有什么…

静默绑定推广人方法修复

问题表现为&#xff1a;原方法缺少对自己和两个用户互为上下级的拦截 修复方案&#xff1a; 找到文件app/services/user/UserServices.php 将方法spread整个代码替换为 /*** 静默绑定推广人* param Request $request* return mixed */ public function spread(int $uid, in…