Blogger Information
Blog 4
fans 0
comment 1
visits 4402
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
ThinkPHP5.1新手笔记(六):【核心知识】视图
一嗔
Original
271 people have browsed it

        1、视图功能由 \think\View 类配合模板引擎驱动类一起完成,目前的内置模板引擎包含PHP原生模板和Think模板引擎。


        2、视图(模板)渲染:渲染模板最常用的是继承基类后调用 fetch 方法。视图(模板)赋值:除了系统变量和配置参数输出无需赋值外,其他变量如果需要在模板中输出必须首先进行模板赋值操作,否则会抛出异常,传递数据到模板主要使用assign 方法。


        3、模板技术。模板技术是为前后端分离而生:模板文件+数据==》模板引擎==》html文档,模板技术干的是字符串拼接的体力活(网站开发干的也就是个装修活)。


        4、模板引擎。ThinkPHP内置了一个基于XML的性能卓越的模板引擎,这是一个专门为ThinkPHP服务的内置模板引擎,使用了XML标签库技术的编译型模板引擎,支持两种类型的模板标签。普通标签:主要用于输出变量、函数过滤和做一些基本的运算操作;XML标签:也称为标签库标签,主要完成一些文件包含、逻辑判断、控制和循环输出,并且可扩展。


        (1)模板文件可以同时包含普通标签和标签库标签,标签的定界符都可以配置。


        (2)可以给变量输出提供默认值,例如:{$user.nickname|default="一嗔"}。


        (3)需要对模板输出使用函数进行过滤或其它处理的时候,可以使用:{$data.name|md5},编译后的结果是:<?php echo htmlentities(md5($data['name'])); ?>。


        (4)为了避免出现XSS安全问题,默认的变量输出都会使用 htmlentities 方法进行转义输出。如果不需要转义(例如需要输出html表格等内容),可以使用:{$data.name|raw},编译后的结果是:<?php echo $data['name']; ?>。


        (5)模板支持注释功能,例如:{// 这是模板注释内容 }。


        (6)runtime/temp下会生成一个编译文件,打开可以看到模板中的{$name}成了<?php echo htmlentities($name); ?>,如果模板这块有问题,查看编译文件是个好方法。改配置后最好清一下编译。


        (7)模板布局、继承和包含文件。喜欢继承和包含文件混合用。


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post