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

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. 【Spring Cloud学习之三】负载均衡

    环境 eclipse 4.7 jdk 1.8 Spring Boot 1.5.2 Spring Cloud 1.2 主流的负载均衡技术有nginx.LVS.HAproxy.F5,Spring Clou ...

  2. c# 字符串递归截取

    private void button1_Click_1(object sender, EventArgs e) { string ex = neirong.Text; List<string& ...

  3. WIFI-Direct(Wifi直连)、AirPlay、DLAN、Miracast功能介绍

    不知道大家对无线同屏技术有多少了解,当这种技术普及的时候,我想我们的工作与生活又会方便很多吧!下面是目前三种主流同屏技术的介绍: 目前这种将终端信号经由WiFi传输到电视.电视盒的技术有三种:DLNA ...

  4. 测试类——python编程从入门到实践

    1.各种断言方法 常用断言方法: 方法 用途 assertEqual(a, b) 核实a == b assertNotEqual(a, b) 核实a != b assertTrue(x) 核实x为Tr ...

  5. ansible debugger 模块

    在搞TF(tungstenfabric)时遇到了一些错误,TF通过ansible playbook 来部署的.通常情况下遇到错误都是通过ansibale xxxx –vvv 来详细输出一下.出错的类型 ...

  6. java之mybatis之字段映射及多对一

    1. 数据库中表的列名和实体类的属性名称不一致. 可以使用 resultMap来解决. <select id="findAll" resultMap="UserMa ...

  7. AspNetCore MVC页面数据提交验证

    2019/05/14,AspNetCore 2.2.0 摘要:AspNetCore MVC使用数据注释配合jquery.validate提交页面进行前端加后端的数据验证 主要用到了jquery.val ...

  8. [Props] vue组件间的传值及校验

    基本用法 Prop的基本用法很简单,只需要在子组件的Vue实例中定义该属性并把值设为目标属性的数组即可 Vue.component('child', { ... // 接收message props: ...

  9. JAVA基础之JavaEE与MVC

    所谓的架构.模式都是方便开发和查看的,分工明确的,理解每层的具体的意义! 一.JavaEE: 1.Java EE,Java 平台企业版(Java Platform Enterprise Edition ...

  10. CSS-宽度自适应和浏览器兼容笔记

    自适应 宽度自适应:网页元素根据窗口或子元素自动调整宽度 适用百分比进行设置,例如:100% 铺满:50% 占据一般宽度 块元素如果不设置宽度,默认为100% 自适应中可以设置最大或者最小宽度和高度 ...