1. 系统变量和原生标签
写入.env 文件的 配置,会默认的加上前缀PHP_,并且将其转换为大写
2 获取系统变量
在php中
$this->assign('assign','assign传递的内容'); // dump(Env::get('status')); // session('name','ssss'); // cookie('email','132456@gmail.com'); return $this->fetch('index',[ 'useremail' => '123456@gmail.com' ],[ 'STATIC'=>'将页面所有STATIC替换成当前值的替换内容' ]);
在html中获取
{$assign} <p><!-- 获取系统变量 --> {$Think.server.HTTP_HOST}<br> {$Think.session.name}<br> {$Think.cookie.email}<br> <!--获取get请求的url中的值 例如http://localhost/?id=123 --> {$Think.get.id}<br> <!--获取post请求的url中的值 例如http://localhost/ psot中 id=132 --> {$Think.post.id}<br> <!--获取request(包含上述请求)中的值 例如http://localhost/?id=123 --> {$Think.request.id}<br> <!-- 获取系统中常量 --> <!--获取当前应用所在的目录--> {$Think.const.APP_PATH}<br> 或者直接 .也可获取 {$Think.APP_PATH}<br>
3. 在html使用 原生PHP标记
使用 <?php /**php代码**/ ?>
4. tp中html 中 变量输出
{$email} 的md5加密为:--》 {$email|md5}<br> {$email} 截取前7位为:--》 {$email|substr=0,7}<br> {$email} 截取前7位为:--》 {$email|substr=###,0,7}<br> 函数调用 <br> 两种转换方式<br> <!-- 函数调用fun($obj1,$obj2,$obj3....) 转成 {$obj1|fun=$obj2,$obj3...}--> <!-- 函数调用fun($obj1,$obj2,$obj3....) 转成 {$obj1|fun=###,$obj2,$obj3...} 使用###占位, 位置不限 函数调用fun($obj1,$obj2,$obj3....) 转成 {$obj2|fun=$obj1,###,$obj3...} --> 连续调用函数<br> {$email} 的md5加密并转大写为:--》 {$email|md5|strtoupper}<br> 变量操作 运算 <p>a+b = {$a+$b}</p> <p>a*b = {$a+$b}</p> <p>++a = {++$a}</p> <p>--a = {--$a}</p> 设置个默认值,若变量没被分配值,就会显示默认值 <p>{$email|default='123654@gmail.com'}</p>
5. 若在html中写的代码 ,不想被被tp 解析,使用 {literal} {/literal} 包住
例如
{literal} {$email} {/literal}
再就会显示
{$email}
字符串,而不会被解析成 123@gmail.com
6. tp 下 html模板中 的注释
1) {/* 这是view的注释 */} 这样的注释不会输出到html中
7. 模板 循环标签
{$list|dump} <br> 一。{volist} 遍历 <?php $empty = "<h1>这是空的显示</h1>>" ?> 或php标签 {php} $empty = "<h1>这是空的显示</h1>>" {/php} <!-- offset 从哪开始遍历--> <!-- length 遍历多少位--> <!-- mod 与mod设置的值取余 --> <!-- empty 如果list为空,就设置显示为字符串,不能包含html标签 但可以使用 empty="$emptyvalue" 可以设置为变量来实现 --> <!-- key当前循环的次数,默认值为 i ,从0开始 --> {volist name='list' id='data' offset='1' length='2' mod='2' empty='空' key='i'} {$i} <br> {$mod} <br> {$data.name} <br> <br> {/volist} 二。{foreach} 遍历 <!--foreach 遍历 --> {foreach $list as $vo} <p>{$key} --> {$vo.name} : {$vo.email}</p> {/foreach} 或 <!-- 默认{$key},也可以修改,例如 key='s' --> {foreach name="list" item="v"} <p>{$key} ---> {$v.name} : {$v.email}</p> {/foreach} 三。 {for} 遍历 <!--默认是i,用 name ='index'来定义--> <!-- step步进 --> {for start='1' end='10' step='2'} <p>{$i}</p> {/for}
相关推荐
day15-学员管理系统 1.学生管理系统 1.1学生管理系统实现步骤【理解】 案例需求 针对目前我们的所学内容,完成一个综合案例:学生管理系统!该系统主要功能如下: 添加学生:通过键盘录入学生信息,添加到集合...
Day5 (递归遍历目录、dup2、进程) Day6 (进程、进程控制、管道) Day7 (进程间通信) Day8 (信号、信号捕捉) Day9 (守护进程、线程、线程控制、线程属性) Day10 (线程同步、信号量、条件变量)
│ ├<day5> │ │ ├[思库教育]php 第14集 .数据类型转换.avi │ │ └[思库教育]php 第15集 流程控制语句.avi │ ├<day6> │ │ ├[思库教育]php 第16集 找出100之内的素数.avi │ │ └[思库教育]php 第17集 ...
数组 的定义,创建,访问,长度属性,遍历,常用Arrays类 二维数组,方法递归调用经典案例 变量源码教程
Day 16 1. LinkedList 1.1 LinkedList实现 1.2 LinkedList特征 1. 存储数据,非连续空间 2. 数组之间通过引用连接,方便遍历和适用 3. 遍历效率低,数据非连续空间存储,需要通过引用跳转过程来完成 4. 删除插入操作...
本教程共分为5个部分,第一部分是C语言提高部分,第二部分为C++基础部分,第三部分为C++进阶部分,第四部分为C、C++及数据结构基础部分,第五部分为C_C++与设计模式基础,内容非常详细. 第一部分 C语言提高部分目录...
* 5遍历从数组files取出的每个对象 赋给f * 6判断f是文件 * 获得文件大小累加到len * 否则是文件夹 * 再调用自身方法 dirLength * 求文件夹大小累加到len * return len; * */ ...
.read()遍历文本中的每个字符(使用.read()函数获取字符串),然后根据字符递增或递减floor变量,就变得如此简单。 然后使用print(floor)函数在控制台中显示结果。 第二部分 问题的后半部分是确定哪个指令是第一个将...
MD5 md5 = new MD5CryptoServiceProvider(); //创建MD5 对象 byte[] data = System.Text.Encoding.Default.GetBytes(strPwd); //将字符编码为一个字节序列 byte[] md5data = md5.ComputeHash(data); //计算data字节...
11.1. 输出变量的值 (Dumping Variables) 12. Zend_Exception 12.1. 使用“异常” 13. Zend_Feed 13.1. 介绍 13.2. 导入Feeds 13.2.1. 定制 feeds 13.2.1.1. 导入定制的数组 13.2.1.2. 导入定制的数据源 ...
§12.4.5 用户定义的子类型 241 §12.4.6 数据类型的转换 243 §12.5 运算符和表达式(数据定义) 243 §12.5.1 关系运算符 243 §12.5.2 一般运算符 244 §12.5.3 逻辑运算符 244 §12.6 变量赋值 245 §12.6.1 字符...
Python Day 3 2020-4-8 Python操作列表 遍历整个列表 1.名单很长,将包含大量重复的代码。另外,每当名单的长度发生变化时,都必须修改代码。通过使用for循环,可让Python去处理这些问题。 magicians = ['alice', '...
删除环境变量中的PATHT CLASSPATH中包含Oracle的值。 删除“开始”/“程序”中所有Oracle的组和图标。 删除所有与Oracle相关的目录,包括: C:\Program file\Oracle目录。 ORACLE_BASE目录。 C:\Documents ...
所以,我想到的第一个解决方案是使用HashMap来保存一个数字在数组中出现的次数,然后遍历哈希图的所有条目,我们可以轻松找到哪个数字在数组中只出现一次。 在这里,我们遵守注释 1 但违反注释 2。 遵循两个注释; ...
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*...