这个东东,就得多练多写,无它法。

1,Application\Home\Controller\IndexController.class.php

<?php
namespace Home\Controller;
use Home\Model\PostModel;
use Home\Model\PostViewModel;
use Home\Model\UserModel;
use Think\Controller;
class IndexController extends Controller {
    public function index(){
        $val = 'name';
        $array1 = array(
            'name' => 'admin_array1'
        );
        $array2 = array(
            array('name' => 'admin_array2'),
            array('name' => 'admin_array2'),
        );

        $user = array(
          'nickname' => 'Guest',
          'mark' => '',
        );
        $userArray = array(
            'age' => 100,
        );

        $obj = new \stdClass();
        $obj->name = 'admin_obj';

        $userObj = new \stdClass();
        $userObj->age = 100;

        $this->assign('val', $val);
        $this->assign('array1', $array1);
        $this->assign('array2', $array2);
        $this->assign('userArray', $userArray);
        $this->assign('userObj', $userObj);
        $this->assign('obj', $obj);
        $this->assign('user', $user);
        $this->assign('name', 'test');
        $this->assign('now', time());
        $this->display();
    }

}

2,Application\Home\View\Index\index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>变量输出</title>
</head>
<body>
<p>var: {$val}</p>
<p>一维数组name: {$array1.name}</p>
<p>一维数组name: {$array1['name']}</p>
<p>二维数据name: {$array2[0]['name']}</p>
<p>标准对象name: {$obj->name}</p>
<p>输出server变量: {$Think.server.request_uri}</p>
<p>输出get变量: {$Think.get.name}</p>
<p>输出cookie变量:{$Think.cookie.PHPSESSID}</p>
<p>输出配置变量:{$Think.config.name}</p>
<p>参数大于一个的函数:{$now|date='Y-m-d H:i:s', ###}</p>
<p>参数等于一个的函数:{$name|strtoupper}</p>
<p>函数嵌套:{$name|md5|substr=###,0,16}</p>
<p>变量默认值测试:{$user.mark|default='此用户很懒'}</p>
<p>变量默认值+函数测试:{$Think.get.name|default='名称为空'|empty|var_dump}</p>
<h1>数组测试:</h1>
<p>'+'=> {$userArray['age']+1}</p>
<p>'-'=> {$userArray['age']-1}</p>
<p>'*'=> {$userArray['age']*2}</p>
<p>'/'=> {$userArray['age']/2}</p>
<p>'%'=> {$userArray['age']%2}</p>
<h1>对象测试:</h1>
<p>'+'=> {$userObj->age+1}</p>
<p>'-'=> {$userObj->age-1}</p>
<p>'*'=> {$userObj->age*2}</p>
<p>'/'=> {$userObj->age/2}</p>
<p>'%'=> {$userObj->age%2}</p>

</body>
</html>

3,测试

ThinkPHP模板之一的更多相关文章

  1. ThinkPHP 模板substr的截取字符串函数

    ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...

  2. [转]thinkphp 模板显示display和assign的用法

    thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论 ...

  3. Thinkphp 模板中直接对数据处理 模板中使用函数 中文字符串截取

    1.Thinkphp 模板中直接对数据处理:{$data.name|substr=0,3} 2.中文字符串截取函数:mb_substr=0,14,'utf-8' 3.中文字符串统计:iconv_str ...

  4. ThinkPHP 模板判断输出--Switch 标签

    ThinkPHP 模板引擎支持 switch 判断,根据不同情况输出不同的值,格式如下:<switch name="变量名" >    <case value=& ...

  5. thinkphp模板中foreach循环没数据的错误解决

    从控制器方法中$this->assign();函数将值传递给html模板 但是模板不显示数据,直接出来的是代码,效果就和html中写了php代码不能解析一样. 原来是我将thinkphp框架的引 ...

  6. ThinkPHP 模板截取字符串 【转载】

    对于英文字符可使用如下形式(模板中): {$vo.title|substr=,} 如果是中文字符thinkphp提供了msubstr,用法如下: function msubstr($str, $sta ...

  7. (转) ThinkPHP模板自定义标签使用方法

    这篇文章主要介绍了ThinkPHP模板自定义标签使用方法,需要的朋友可以参考下  转之--http://www.jb51.net/article/51584.htm   使用模板标签可以让网站前台开发 ...

  8. thinkPHP 模板的使用技巧(十三)

    原文:thinkPHP 模板的使用技巧(十三) 模板的使用技巧:页面跳转 .模板包含.模板渲染.模板的继承 页面跳转 <a href='__URL__/index'>我要跳转到首页面,用这 ...

  9. thinkPHP 模板中的语法知识 详细介绍(十二)

    原文:thinkPHP 模板中的语法知识 详细介绍(十二) 本章节:介绍模板中的语法,详细的语法介绍 一.导入CSS和JS文件    ==>记住常量的是大写 1.css link .js  sc ...

  10. 转换器2:ThinkPhp模板转Django模板

    前天写了个<ThinkPhp模板转Flask模板> 居然被同事鄙视了,原因是他用Django,我用Flask,为了避免被他继续安利Django的强大.我决定写一个Django模板转换器. ...

随机推荐

  1. 使用mwget代替wget

    wget相对于浏览器来说,速度会比较偏慢,特别是国外的网站. 刚好经常用的xftp无法正常使用了,于是开始折腾mwget 下面来看一下安装步骤: wget http://jaist.dl.source ...

  2. 深入nginx之《获取用户的真实IP》

    获取用户的真实IP Nginx会将客户端的IP信息存放在$remote_addr变量里,但这并不意味着它就是客户端的IP,生产环境往往会充满各种代理,让IP的来龙去脉变得扑朔迷离. 目前互联网公司基本 ...

  3. LinkedHashMap原理

    作者:艺旭家 链接:https://www.jianshu.com/p/8f4f58b4b8ab 总结 LinkedHashMap是继承于HashMap,是基于HashMap和双向链表来实现的. Ha ...

  4. [Arch] 域名解析常用两步设置

    主站   A 记录        (对应IPv4)   主机记录: @ (表示解析到不带 www 主域名)   值为 IP 主站 CNAME 记录 (表示别名) 主机记录: www   (表示解析到带 ...

  5. F# 4.6 预览版正式公布

    1月24日,F# 4.6 预览版正式公布,与以往一样,新版本的设计与开发过程是整个 F# 开源社区共同努力的结果,这次更新的具体讨论内容可以通过下面两个链接来查看: F# 4.6 意见征求记录 FSh ...

  6. [转]python file文件操作--内置对象open

    python file文件操作--内置对象open   说明: 1. 函数功能打开一个文件,返回一个文件读写对象,然后可以对文件进行相应读写操作. 2. file参数表示的需要打开文件的相对路径(当前 ...

  7. kubernetes常用命令:缩容扩容回滚

    查看版本 kubectl version 查看节点 kubectl get nodes 部署app 说明: 提供deployment名称和app镜像地址(docker镜像地址) kubectl run ...

  8. 终端下更改printk打印级别

    如何去更改printk的打印级别? 1.查看当前控制台的打印级别 # cat /proc/sys/kernel/printk 该文件有4个数字值,它们根据日志记录消息的重要性,定义将其发送到何处,上面 ...

  9. PowerDNS + PowerDNS-Admin

    一.基础配置 1.1 环境说明 Centos 7.5.1804 PDNS MariaDB 1.2 关闭防火墙和 selinux setenforce sed -i 's/SELINUX=enforci ...

  10. SQL Server 类似正则表达式的字符处理问题

    SQL Serve提供了简单的字符模糊匹配功能,比如:like, patindex,不过对于某些字符处理场景还显得并不足够,日常碰到的几个问题有: 1. 同一个字符/字符串,出现了多少次 2. 同一个 ...