《TP5.0学习笔记---模板变量输出、替换和赋值篇》

原文地址:http://blog.csdn.net/self_realian/article/details/75214922php

模板变量输出、替换和赋值css

 

咱们看一下文件编译的结果,咱们知道咱们如今写的是一个html文件,可是咱们当前的系统是php,咱们的模板最终也会编译成php文件执行,输出咱们想要的结果,它编译的文件在runtime/temp目录下,找到对应的编译文件html

 

首先咱们看见,若是咱们在系统中没有定义“THINK_PATH”这个变量,就会退出,说明咱们当前这个文件必须在ThinkPHP环境下才能执行,这样它就不呢直接访问咱们的temp文件,来获取咱们文件中的内容,上边的那个其实就是一个安全机制。紧接着就是咱们编写的代码了。咱们会看到  它把包裹变量的两个花括号变成了<?php   和 ?>.也就是说咱们在模板中输出变量的花括号最终会被编译成PHP的<?php  和  ?>,而后里边是echo 出变量,这就是模板的执行流程。它首先让咱们在html文件中编写正常的html,经过固定的标签来标记咱们变量的开始和结束,以后在咱们执行过程当中,它会生成缓存或编译文件,最终咱们程序实际上是执行了那个编译文件。如今咱们看一下,为何咱们使用花括号就能输出变量,可否使用其它的标记呢?前端

咱们来看一下thinkphp的配置文件(convention.php),找到模板配置部分,直接拷贝到应用配置文件中thinkphp

 

这两个就是定义模板的开始和结束的标记的,固然咱们也能够改,可是不建议改,若是小伙伴们想试一下也是能够的,我这里就不截图了。(注意咱们输出的变量和花括号中间是不能有空格的,不然不能正常输出变量的值)缓存

接下来咱们看看,还能使用哪些方式能对页面的变量赋值。咱们知道咱们能够经过fetch()的第二个参数赋值。第二种方式,以前也介绍过,能够经过$this->assign()的方法。第三种方法,是经过$this->view获取view对象,而后给view对象设置属性值,好比:$this->view->name =‘chen’安全

 

在ThibPHP5.0.4以后,在think下的view类中,为咱们提供了一个静态方法,咱们能够直接经过静态方法,来对咱们的页面赋值框架

 

这几种给模板中分配变量的方式,同时可用。系统会将这四种方式传递的变量进行合并,统一贯咱们的页面中进行分配,这样咱们就能够在咱们的页面中使用这些值函数

咱们知道,经过fetch()函数,咱们能够传递第三个参数,第三个参数的key就是咱们要替换的字符串,值就是咱们替换以后把的内容fetch

另外,咱们能够经过修改配置文件中,进行修改,来统一的向咱们全部的模板中进行一个变量替换的配置,咱们依然打开convention.php

 

另外,咱们能够经过修改配置文件中,进行修改,来统一的向咱们全部的模板中进行一个变量替换的配置,咱们依然打开convention.php

 

将它复制到应用配置文件中,而后进行修改

好比我想将 ‘__123__’修改为‘__一二三__’

能够这样配置

 

而后咱们能够回到模板中直接进行输出

 

系统还提供了一些默认的字符串替换,好比__URL__(获得的是当前模块名和当前控制器名)、__STATIC__(获得的是/static也就是根下的static目录即public/static目录),thinkphp是一个单入口文件,全部的请求都会落到public/index.php,在咱们安装好这个框架以后,public就会默认有一个static目录,咱们以前介绍目录的时候介绍过,这个static目录是用来放静态文件的。咱们在模板中常常会使用到static下的一些文件,好比说:css样式,js代码,图片等。咱们就能够经过__STATIC__来代替/static目录。还有__JS__,它表示的是/static/js这个目录。__ROOT__,它表示的是框架所在的目录下的public目录,在我这里是/ThinkPHP5.0/public。__CSS__它表示的是/static/css目录

好比咱们如今想使index.html这个页面变成红色,咱们再static/css目录下写一个style.css文件,而后在index.html中引入该样式

 

当咱们使用__CSS__这种系统定义好的常量,会给咱们提供很大的方便。好比说咱们不想将咱们的样式放在public/static目录,咱们只想直接放在根目录,也就是public目录下,好比说建立一个front目录,里边全放前端的样式。当咱们修改了样式的位置以后,若是咱们使用的是以前的那种传统的引入样式的方法,咱们就须要修改咱们整个项目的样式的路径,可是咱们使用了__CSS__这种以后,咱们只须要在咱们的当前模块配置文件中进行修改便可,好比咱们如今修改__CSS__默认对应的目录

 

这样咱们在模板中使用__CSS__对应的就是/front/css目录。经过简单的配置就能改变项目中全部样式相关的路径,这对咱们后期的维护是至关方便的。这些默认的替换在thinkphp/library/think/View.php

 

注意配置的读取顺序,也就是优先级。最早读取的是框架的默认配置,若是咱们在对应的模块中对这些配置进行了修改,那么它最终会使用模块中的配置

相关文章
相关标签/搜索