如何在ThinkPHP中实现一个模板输出功能

  介绍

这篇文章给大家介绍如何在ThinkPHP中实现一个模板输出功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

ThinkPHP中的每一个xxxAction.class.php文件就代表着一个应用模块,这个行动中的每一个方法(函数)代表着一个操作,操作可以分为有输出到模板的操作和只具执行不需要输出的操作。
打开Myapp/Lib/行动/IndexAction.class。php文件,我们可以看到里面的基础代码:

class  IndexAction  extends 行动{   public  function 指数(){   }   }

对此,需要指出一下几点:

1。在ThinkPHP的开发中,要增加一个应用模块,就要在行动文件夹里建立一个类,类的文件命名格式是“模块名称+ Action.class.php”。例如我们这里的应用模块是指数,所以定义文件名为IndexAction.class.php。
2。应用模块类的定义要继承框架类的行动。要为这个应用模块添加一个操作,则定义一个以此操作为命名的功能,例如上面的指数操作。

通常一个应用模块中,会有若干操作(函数)需要有与用户交互的页面,这就需要用到模板输出,ThinkPHP本身已内置了一套具有ThinkPHP特色的,很强大易扩展但应用非常方便兼简单的模板引擎。
在应有模块中,如果某个操作是需要页面显示的,只要对应在Myapp/Tpl/违约/里建立一个文件夹,文件夹以应用模块的名称来命名,然后在这个文件夹下,建立一个以这个函数名称来命名的html文件,就可以在这个方法中使用$ this→显示()方法来直接调用该模板。(当然也可以调用其它模块下的其它模板或显式指定模板文件位置和名称,由于是循序渐进式的学习,就让我们先忽略吧)了解这些理论后,我们先简单实操一下这些知识。
(1)在Myapp/Tpl/违约/下建立一个文件夹,根据应用模块的名称,我们将这个文件夹命名为指数
(2)在Myapp/Tpl/违约/索引/下建立一个html文件,根据操作名称,我们命名该文件为Index . html
(3)打开Myapp/Lib/行动/IndexAction.class。php文件,修改代码为

& lt; php ?   {class  IndexAction  extends 行动   public  function 指数(){   $ value =,, & # 39;你好,ThinkPHP& # 39;;   $ this→分配(& # 39;名字# 39;,美元值);   美元这个→显示();   }   }   ?在

(摘自手册:ThinkPHP模板指南,此后的知识要点均来自ThinkPHP官方手册,不再申明)
在动作类里面使用分配方法对模板变量赋值,无论何种变量类型都统一使用分配赋值。

$ this→分配(& # 39;名字# 39;美元值),

//下面的写法是等效的

$ this→name =, value 美元;;

//模板变量赋值后就需要调用模板文件来输出相关的变量,模板调用通过显示方法来实现

$ this→显示();


4打开Myapp/Tpl/违约/索引/索引。html文件,代码为

& lt; ! DOCTYPE  HTML  PUBLIC “-//W3C//DTD  HTML  4.0,过渡//EN"比;   & lt; html>   & lt; head>   & lt; title>{$名称}& lt;/title>   & lt;/head>   & lt; body>   测试输出:{$名称}   & lt;/body>   & lt;/html>

此处注意:模板变量使用{$变量名称}这种标签进行输出。

不同的模板变量类型,使用不同的标签,标签可以自行另外定义,暂且不理会。

5打开浏览器输入地址:& lt; http://127.0.0.1/>,我们可以看的到,定义的模板变量已经输出来了。

附加补充知识:

1如果要同时输出多个模板变量,可以使用下面的方式:

array 美元;=,数组();   美元array[& # 39;名字# 39;],,=,,& # 39;thinkphp& # 39;;   美元array[& # 39;电子邮件# 39;],,=,,& # 39;123456 @vip.qq.com& # 39;;   美元array[& # 39;电话# 39;],,=,,& # 39;123456 & # 39;;   $ this→分配(数组)美元;

这样,就可以在模板文件中同时输出姓名、电子邮件和电话三个变量。

2我们使用上面的变量定义,将整个数组定义为一个模板变量来输出

array 美元;=,数组();   美元array[& # 39;名字# 39;],,=,,& # 39;thinkphp& # 39;;   美元array[& # 39;电子邮件# 39;],,=,,& # 39;123456 @vip.qq.com& # 39;;   美元array[& # 39;电话# 39;],,=,,& # 39;123456 & # 39;;   $ this→分配(& # 39;数组# 39;,美元数组);   美元这个→显示();

在html中,要输出数组美元[& # 39;名字# 39;]的值,代码是
{$ array.name}或{$数组(& # 39;名字# 39;]}

如何在ThinkPHP中实现一个模板输出功能