kphp开源框架学习篇之kphp框架整合smarty的全面讲解!
2015-08-13 19:20
741 查看
kphp2.0版本采用了MVC的模式,而且模板引擎选择了smarty,之所以选择smarty是因为smarty缓存技术不但能够提升访问速度,而且还可以通过缓存技术非常方便的生成静态Html页面,这对应网站的推广是非常有必要的,今天就给大家简单介绍一下kphp框架中整合smarty的一些方法。
kphp2.0中的View类,继承了Smarty方法,用add($name,$value)方法代替assign方法和show($path,$cache_id='',$compile_id='')代替了display方法。而在控制端可以通过add()方法和show()方法像模板中传递变量和方法。而kphp框架为了不改变开发者的习惯,在模板端还是采用了smarty固有的语法,而没有进行更改。
如果你是php初学者没有接触过smarty也没有关系,在这了我会给大家简单介绍一下,想一下当我们把php中变量传递模板层,需要做的只是赋值、判读、遍历数据,下面我详细给大家介绍一下:
1.在控制层中传值:
$kphp = "我是kphp开源框架";
$kphp_array =array(
'kphp'=array('kphp团队','kphp爱国者','kphp框架'),
'php'=>array('php学习','php框架'),
'mysql'=>'我是mysql'
);
$view = new View();
add("kphp",$kphp);
add("krow",$kphp_array);
show("index.html");
2.在模板中引用:
第一、简单变量赋值
模板文件中需要替换的值用大括号{}括起来,值的前面还要加$号,比如:{$kphp}
这里可以是数组,比如:{$krow.mysql}
在模板页面中:取得php传来的值,用{$变量名}。
第二、引用模板文件
站中的网页一般header和footer是可以共用的,所以只要在每个模板页中引用它们就可以了。
如:
{include file="header.html"}
内容区
{include file="footer.html"}
第三、条件判断
结构:
{if 条件}
……
{elseif 条件}
…..
{else}
….
{/if}
{if $kphp==“kphp”}
框架:{$kphp}
{/if}
{if $kphp!=“kphp”}
框架:{$kphp}
{/if}
{if $kphp==“php"}
这个是php
{elseif $kphp==“kphp"}
这个是php
{else}
这个既不是php也不是kphp
{/if}
第四、对数组的遍历(循环语句)
当我们php传递过来数组时候需要进行遍历输出,遍历可以用foreach和section
foreach方式:
对于二维数组:
{foreach item=row key=rowid from=$all_cate}
<li><a href="{$row.url}" target="_blank" title="{$row.class_name}" >{$row.class_name}</a></li>
{/foreach}
section 方式:
对于二维数组:
{section name=row loop=$list}
{$list[row].name}<br>
{/section}
其中,$list为php页面传来的数组。
以上是kphp2.0整合smarty模板的基本使用方法,是不是很简单,即使你没有学过smarty只要你利用kphp2.0框架,按照给定的类进行编辑就可以掌握smarty的初步应用,后期也会给大家介绍如何用kphp2.0的模板类生产静态页。
原文转自kphp开源框架:http://www.kphp.org/?faq-show-49.html
kphp2.0中的View类,继承了Smarty方法,用add($name,$value)方法代替assign方法和show($path,$cache_id='',$compile_id='')代替了display方法。而在控制端可以通过add()方法和show()方法像模板中传递变量和方法。而kphp框架为了不改变开发者的习惯,在模板端还是采用了smarty固有的语法,而没有进行更改。
如果你是php初学者没有接触过smarty也没有关系,在这了我会给大家简单介绍一下,想一下当我们把php中变量传递模板层,需要做的只是赋值、判读、遍历数据,下面我详细给大家介绍一下:
1.在控制层中传值:
$kphp = "我是kphp开源框架";
$kphp_array =array(
'kphp'=array('kphp团队','kphp爱国者','kphp框架'),
'php'=>array('php学习','php框架'),
'mysql'=>'我是mysql'
);
$view = new View();
add("kphp",$kphp);
add("krow",$kphp_array);
show("index.html");
2.在模板中引用:
第一、简单变量赋值
模板文件中需要替换的值用大括号{}括起来,值的前面还要加$号,比如:{$kphp}
这里可以是数组,比如:{$krow.mysql}
在模板页面中:取得php传来的值,用{$变量名}。
第二、引用模板文件
站中的网页一般header和footer是可以共用的,所以只要在每个模板页中引用它们就可以了。
如:
{include file="header.html"}
内容区
{include file="footer.html"}
第三、条件判断
结构:
{if 条件}
……
{elseif 条件}
…..
{else}
….
{/if}
{if $kphp==“kphp”}
框架:{$kphp}
{/if}
{if $kphp!=“kphp”}
框架:{$kphp}
{/if}
{if $kphp==“php"}
这个是php
{elseif $kphp==“kphp"}
这个是php
{else}
这个既不是php也不是kphp
{/if}
第四、对数组的遍历(循环语句)
当我们php传递过来数组时候需要进行遍历输出,遍历可以用foreach和section
foreach方式:
对于二维数组:
{foreach item=row key=rowid from=$all_cate}
<li><a href="{$row.url}" target="_blank" title="{$row.class_name}" >{$row.class_name}</a></li>
{/foreach}
section 方式:
对于二维数组:
{section name=row loop=$list}
{$list[row].name}<br>
{/section}
其中,$list为php页面传来的数组。
以上是kphp2.0整合smarty模板的基本使用方法,是不是很简单,即使你没有学过smarty只要你利用kphp2.0框架,按照给定的类进行编辑就可以掌握smarty的初步应用,后期也会给大家介绍如何用kphp2.0的模板类生产静态页。
原文转自kphp开源框架:http://www.kphp.org/?faq-show-49.html
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- myTemplate模板引擎
- 文件遍历排序函数
- Lua 学习笔记之C API 遍历 Table实现代码
- C#中遍历Hashtable的4种方法
- Erlang中遍历取出某个位置的最大值代码
- C++实现图的邻接矩阵存储和广度、深度优先遍历实例分析
- C++实现图的邻接表存储和广度优先遍历实例分析
- C++非递归队列实现二叉树的广度优先遍历
- php遍历目录方法小结
- TMDPHP 模板引擎使用教程
- 一个目录遍历函数
- php中Smarty模板初体验
- 解析smarty 截取字符串函数 truncate的用法介绍
- smarty巧妙处理iframe中内容页的代码
- Zend的MVC机制使用分析(二)
- 关于PHP模板Smarty的初级使用方法以及心得分享
- php遍历删除整个目录及文件的方法
- PHP遍历文件夹与文件类及处理类用法实例
- php使用Smarty的相关注意事项及访问变量的几种方式