ThinkPHP中的每一个xxxAction.class.PHP文件就代表着一个应用模块,这个Action中的每一个方法(function)代表着一个操作,操作可以分为有输出到模板的操作和只具执行不需要输出的操作。 打开Myapp/Lib/Action/IndexAction.class.PHP文件,我们可以看到里面的基础代码:
对此,需要指出一下几点:
1.在ThinkPHP的开发中,要增加一个应用模块,就要在Action文件夹里建立一个类,类的文件命名格式是“模块名称+Action.class.PHP”。例如我们这里的应用模块是Index,所以定义文件名为IndexAction.class.PHP。 2.应用模块类的定义要继承框架的Action类。要为这个应用模块添加一个操作,则定义一个以此操作为命名的function.例如上面的index操作。
通常一个应用模块中,会有若干操作(function)需要有与用户交互的页面,这就需要用到模板输出,ThinkPHP本身已内置了一套具有ThinkPHP特色的,很强大易扩展但应用非常方便兼简单的模板引擎。 在应有模块中,如果某个操作是需要页面显示的,只要对应在Myapp/Tpl/default/里建立一个文件夹,文件夹以应用模块的名称来命名,然后在这个文件夹下,建立一个以这个function名称来命名的html文件,就可以在这个方法中使用$this->display()方法来直接调用该模板。(当然也可以调用其它模块下的其它模板或显式指定模板文件位置和名称,由于是循序渐进式的学习,就让我们先忽略吧)了解这些理论后,我们先简单实操一下这些知识。 (1)在Myapp/Tpl/default/下建立一个文件夹,根据应用模块的名称,我们将这个文件夹命名为Index (2)在Myapp/Tpl/default/Index/下建立一个html文件,根据操作名称,我们命名该文件为index.html (3)打开Myapp/Lib/Action/IndexAction.class.PHP文件,修改代码为
(摘自手册:ThinkPHP模板指南,此后的知识要点均来自ThinkPHP官方手册,不再申明) 在Action类里面使用 assign方法对模板变量赋值,无论何种变量类型都统一使用assign赋值。
// 下面的写法是等效的
// 模板变量赋值后就需要调用模板文件来输出相关的变量,模板调用通过display方法来实现
4 打开Myapp/Tpl/default/Index/index.html文件,代码为