thinkPHP学习记录4

视图

模板定义

模板按 视图目录(默认为view)/[模板主题]/控制器名/操作名+模板后缀 存储。

模板主题

每个模板都可以有一个主题,只需要在目录结构上多一层而已,在视图渲染输出之前,我们可以通过动态设置来改变需要使用的模板主题。

1

2
// 在控制器中动态改变模板主题

$this->theme('blue')->display('add');

模板赋值

在控制器中把变量赋值给模板需要使用assign方法
$this->assihn(‘ name ‘,$value)
赋值后可以在模板中用{$name}来输出
如果要同时输出多个模板变量

1

2

3

4
$array['name']    =    'thinkphp';

$array['email']   =    '[email protected]';

$array['phone']   =    '12335678';

$this->assign($array);

在模板中的输出为:

1
<?php echo $name.'['.$email.''.$phone.']';?>

如果采用内置的模板引擎,可以使用:

1
{$name} [ {$email} {$phone} ]

输出同样的内容。

模板渲染

模板赋值必须在模板渲染之前操作

渲染模板输出最常用的是使用display方法,调用格式:

1
display('[模板文件]'[大专栏  thinkPHP学习记录4tring">,'字符编码'][,'输出类型'])

获取模板地址

为了更方便的输出模板文件,新版封装了一个T函数用于生成模板文件名。

1

2

3

4

5

6

7

8

9

10

11

12

13

14
T('Public/menu');

// 返回 当前模块/View/Public/menu.html

T('blue/Public/menu');

// 返回 当前模块/View/blue/Public/menu.html

T('Public/menu','Tpl');

// 返回 当前模块/Tpl/Public/menu.html

T('Public/menu');

// 如果TMPL_FILE_DEPR 为 _ 返回 当前模块/Tpl/Public_menu.html

T('Public/menu');

// 如果TMPL_TEMPLATE_SUFFIX 为.tpl 返回 当前模块/Tpl/Public/menu.tpl

T('[email protected]/menu');

// 返回 Admin/View/Public/menu.html

T('Extend://[email protected]/menu');

// 返回 Extend/Admin/View/Public/menu.html (Extend目录取决于AUTOLOAD_NAMESPACE中的配置)

获取内容

如果需要获取渲染模板的输出内容而不是直接输出,可以使用fetch方法。

1
$content = $this->fetch('Member:edit');

如果你没有定义任何模板文件,或者把模板内容存储到数据库中的话,你就需要使用show方法来渲染输出了

1
$this->show($content, 'utf-8', 'text/xml');

模板引擎

原文地址:https://www.cnblogs.com/dajunjun/p/11712940.html

时间: 2024-10-10 20:58:26

thinkPHP学习记录4的相关文章

ThinkPHP 学习记录

index.php //入口文件 define('APP_DEBUG',True); //开启调试模式 define('APP_PATH','./Application/'); //定义应用目录 require './ThinkPHP/ThinkPHP.php'; //引用入口文件 控制类 ( C (Controller)) 文件均存放于 应用目录的  Home/Controller/ 下 IndexController.class.php //采用  驼峰命名法(控制器名称+controlle

thinkphp学习笔记4—眼花缭乱的配置

1.配置类别 ThinkPHP提供了灵活的全局配置功能,ThinkPHP会依次加载管理配置>项目配置>调试配置>分组配置>扩展配置>动态配置,所以后面的配置权限要大于前面的,因为后面的配置会覆盖前面同名配置,同事会生辰配置缓存文件无需重复解析,减小开销. 惯例配置:在惯例配置内对大多数常用参数进行默认配置,因为惯例配置最先加载,优先级别最低,如果不需要做特殊配置的话,完全可以保持默认值,惯例配置位于ThinkPHP/Conf/convention.php,内容摘抄如下: &l

thinkphp学习笔记3—项目编译和调试模式

原文:thinkphp学习笔记3-项目编译和调试模式 1.项目编译 在章节2.4项目编译中作者讲到使用thinkphp的项目在第一次运行的时候会吧核心需要加载的文件去掉空白和注释合并到一个文件中编译并缓存,第二次运行时直接载入编译缓存,这样省去一些IO开销,加快执行速度.并且在3.0以上的版本中海做了一些优化: 1.合并和兴编译缓存和项目编译缓存,不再生成两个缓存文件 2.直接对本地环境生成设置和常量定义减少环境判断 3.编译缓存可以直接替换框架入口甚至项目入口,甚至脱离框架独立运行 4.通过参

Python学习记录-2016-12-17

今日学习记录 模块: import os#导入os模块 import sys#导入sys模块 os.system("df -h")#执行df -h命令 cmd_res = os.popen("df -h").read()#将命令的返回结果赋值给cmd_res,如果不加入.read()会显示命令的返回加过在内存的位置 print(sys.path)#显示系统变量路径,一般个人模块位于site-packages下,系统模块位于lib下 print(sys.argu[2]

Objc基础学习记录5

NSMutableString类继承的NSString类. NSMutableString是动态的字符串. 1.appendingString 方式: 向字符串尾部添加一个字符串. 2.appendingFormat:可以添加多个类型的字符串. int,chat float,double等 3.stringWithString 创建字符串, 4.rangeOfString 返回str1在另一个字符串中的位置. 5.NSMakeRange(0,3) 字符串0位到3位. 6.deleteCharac

Windows API 编程学习记录&lt;二&gt;

恩,开始写Windows API编程第二节吧. 上次介绍了几个关于Windows API编程最基本的概念,但是如果只是看这些概念,估计还是对Windows API不是很了解.这节我们就使用Windows API 让大家来了解下Windows API的用法. 第一个介绍的Windows API 当然是最经典的MessageBox,这个API 的作用就是在电脑上显示一个对话框,我们先来看看这个API的定义吧: int WINAPI MessageBox(HWND hWnd, LPCTSTR lpTe

Windows API 编程学习记录&lt;三&gt;

恩,开始写API编程的第三节,其实马上要考试了,但是不把这节写完,心里总感觉不舒服啊.写完赶紧去复习啊       在前两节中,我们介绍了Windows API 编程的一些基本概念和一个最基本API函数 MessageBox的使用,在这节中,我们就来正式编写一个Windows的窗口程序. 在具体编写代码之前,我们必须先要了解一下API 编写窗口程序具体的三个基本步骤:             1. 注册窗口类:             2.创建窗口:             3.显示窗口: 恩,

Python学习记录day6

Python学习记录day6 学习 python Python学习记录day6 1.反射 2.常用模块 2.1 sys 2.2 os 2.3 hashlib 2.3 re 1.反射 反射:利用字符串的形式去对象(默认)中操作(寻找)成员 cat commons.py #!/usr/bin/env python#_*_coding:utf-8_*_''' * Created on 2016/12/3 21:54. * @author: Chinge_Yang.''' def login(): pr

Python学习记录-2016-11-29

今日学习记录: 心灵鸡汤: 要有合适自己的目标,一个目标一个目标实现,切忌好高骛远: 最好的投资就是投资自己: 实现梦想 学习,学习,再学习: Talk is cheap. 从本身而言,余三十而立之年,从事测试行业7七年有余,一年半华为外包路由器,两年无线wifi测试,一年半网管软件测试,一年自动化测试经理,推行公司自动化测试进程,从开始的TCL,到现在的python,工欲善其事必先利其器,所以自己来学习,总体我认为我的目标是一直前进的,不断变化的,但是方向并没有大的错误,有些累,所以近期有些懈