PHP页面开发小结--smarty的应用

因为要用php做一些表单界面的开发,自己只会JAVA,PHP又不懂,然后就到W3SCHOOL初步入门了下,下面就把最近遇到的总结下吧。

因为有前辈的代码做参考,他用的是smarty,然后在模板中提取数据。

先说下smarty是咋回事吧

PHP通过smarty类将动态的数据传给模板,模板来显示数据,从而实现动态页面,其实就是将显示与控制分离,就是JAVA里的Servlet和JSP了。

在smarty对象初始化的时候需要对其参数进行设置,这里我注意到的是两个,一个是前标和后标,然后是模板的位置。

刚开始我不知道模板还要有指定位置的(主要英文不好,template文件夹不认识,惭愧啊),所以就把模板放在php文件的边上,结果坑了我好久,就是找不到模板文件。

在PHP端,

传数据用的是$smarty->assign("key", $value);//这里跟JAVA里Servlet通过将数据存入那四个容器传过去是一样的。

显示用的是$smarty->display("templet.dwt");//为啥是dwt呢,我也不知道,反正前辈们都这么写的,其实跟htm一样的。

在模板上,

通过smarty定义时写的前标和后标来拿出smarty传来的数据。其实跟JSP中用EL表达式拿数据时一样的,只不过JSP是直接调getAll(),从四个容器中拿,这里只在smarty一个容器中拿数据。同样,PHP在编译时也会将模板编译成一个php文件,用echo语句输出。

那么平常的直接应用就不多说了,主要说下列表吧

主要有两种方法,一个是section,一个是foreach。

(这里我用的上下标签为{})

对于一维的数组:

{foreach item=item1 from=$array1}
{$item1}
{/foreach}

{section name=sec1 loop=$array1}
{$array1[sec1]}
{/section}
对于二维的数组:(因为sql拿到的数据就是二维的,我看经常会用到)

{foreach item=index2 from=$array2}
{foreach key=key2, item=item2 from=$index2}
{$key2}:{$item2}
{/foreach}
{/foreach}

{section name=sec2 loop=$array2}
index1: {$array2[sec2].index1}
index2: {$array2[sec2].index2}
index3: {$array2[sec2].index3}
{/section}

在遍历的过程中加上<tr><td>标签,外面再套个<table>就可以得到一个动态的表格了。当然,对于section也是同样的道理,加上<option>标签就行了。

差不多就这样了吧,将自己在上周学到的东西总结一下,都是些入门的东西,不过也算是认真学过用过了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值