ThinkPHP中的每一个xxxAction.class.php文件就代表着一个应用模块,这个Action中的每一个方法(function)代表着一个操作,操作可以分为有输出到模板的操作和只具执行不需要输出的操作。
打开Myapp/Lib/Action/IndexAction.class.php文件,我们可以看到里面的基础代码:
class IndexAction extends Action{ public function index(){ } }
对此,需要指出一下几点:
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文件,修改代码为
<"htmlcode">$this->assign('name',$value);// 下面的写法是等效的
$this->name = $value ;// 模板变量赋值后就需要调用模板文件来输出相关的变量,模板调用通过display方法来实现
$this->display();
4 打开Myapp/Tpl/default/Index/index.html文件,代码为
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>{$name}</title> </head> <body> 测试输出: {$name} </body> </html>此处注意:模板变量使用{$变量名称}这种标签进行输出。
不同的模板变量类型,使用不同的标签,标签可以自行另外定义,暂且不理会。
5 打开浏览器输入地址:<http://127.0.0.1/>,我们可以看到,定义的模板变量已经输出来了。附加补充知识:
1 如果要同时输出多个模板变量,可以使用下面的方式:
$array = array(); $array['name'] = 'thinkphp'; $array['email'] = '123456@vip.qq.com'; $array['phone'] = '123456'; $this->assign($array);这样,就可以在模板文件中同时输出name、email和phone三个变量。
2 我们使用上面的变量定义,将整个数组定义为一个模板变量来输出
$array = array(); $array['name'] = 'thinkphp'; $array['email'] = '123456@vip.qq.com'; $array['phone'] = '123456'; $this->assign('array',$array); $this->display();在html中,要输出$array['name']的值,代码是
{$array.name} 或 {$array['name']}3 将这个数组循环输出
(1) IndexAction.class.php中代码更改如下
<"htmlcode"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>{$name}</title> </head> <body> <iterate name="array" id="vo"> {$vo}<br /> </iterate> </body> </html>注意:name='array'是指要循环的模板变量是array,id='vo'是指这个数据在模板输出时所使用的名称
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]