|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
怎么配置呢 ,问最好的老实百度,问啥都有答案。所以用好搜索引擎是学好的令1个关键,程序会出各样的问题,没有1个人可能会碰到所有的问题,所有就可以问百度这个大家精华的集合了。 综述: 在多人开辟大型PHP项目时,模板手艺十分有效,它可以分隔美工和法式员的任务,而且便利界面的修正和完美;不但如斯,使用模板手艺,咱们还可以复杂无效地定制或修正站点。如今咱们将要以PHPLIB的模板为例子讲述若何在PHP中使用模板手艺。
若何利用PHPLIB模板?
设咱们有一个模板, 名为UserTemp,途径为/home/user_dir/user_temp/,它的内容以下:
你订购的是:{Product}
大括号暗示Product是一个模板变量。
然后咱们编写以下的法式:
<?php
include "template.inc";
$user_product = "随身听";
$tmp = new Template("/home/user_dir/user_temp/"); // 创立一个名为 $t 的模板对象
$tmp->set_file("FileHandle","UserTemp.ihtml"); // 设置句柄FileHandle = 模板文件
$tmp->set_var("Product",$user_product); // 设置模板变量Product=$user_product
$tmp->parse("Output","FileHandle"); // 设置模板变量 Output = 剖析后的文件
$tmp->p("Output"); // 输入 Output 的值(咱们的剖析后的数据)
?>
template.inc是PHPLIB中的一个文件,咱们用include以便利用PHPLIB的模板功效。PHPLIB模板利用的是面向对象的设计,所以咱们可以用$tmp = new Template("/home/user_dir/user_temp/")创立一个模板对象,其参数是一个途径("/home/user_dir/user_temp/"), 用来设置模板文件地点地位,默许途径是PHP剧本地点目次。
set_file()用来界说指向UserTemp.ihtml(PHPLIB模板的模板文件名的后缀为.ihtml )的句柄"FileHandle",set_var()用来设置模板变量Product为$user_product的值(即"随身听"),parse()办法会装入FileHandle(即UserTemp.ihtml)停止剖析,将一切在模板中呈现的"{Product}"交换成$user_product的值("随身听")。
若何利用嵌套的模板?
在下面的例子中,parse()办法设置的"Output"是一个模板变量,使用这点,咱们可以完成模板的嵌套。
好比,咱们有别的一个模板(假定为UserTemp2),其内容是:
接待你,亲爱的伴侣!{Output}
那末在剖析以后,其输入会是:
接待你,亲爱的伴侣!你订购的是:随身听
上面是更新后的法式:
<?php
include "template.inc";
$user_product = "随身听";
$tmp = new Template("/home/user_dir/user_temp/");
$tmp->set_file("FileHandle","UserTemp.ihtml");
$tmp->set_var("Product",$user_product);
$tmp->parse("Output","FileHandle");
$tmp->set_file("FileHandle2","UserTemp2.ihtml");//设置第二个模板句柄
$tmp->parse("Output","FileHandle2");//剖析第二个模板
$tmp->p("Output");
?>
很复杂,咱们就不具体注释了。这里有一个技能:parse()和p()可以写成一个函数pparse(),好比$tmp->pparse(Output","FileHandle2)。
PHPLIB模板若何承受多组值?
setfile()和set_var()的参数可所以联系关系数组(句柄作为数组索引,模板文件作为值),如许模板就能够承受多个值,好比:
<?php
……
$tmp->setfile(array("FileHandle"=>"UserTemp.ihtml","FileHandle2"=>"UserTemp2.ihtml"));
$tmp->set_var(array("Product"=>"随身听","Product2"=>"电视机"));
……
?>
若何给模板变量追加数据?
咱们可以给parse()和pparse()供应第三个参数(布尔变量)来给模板变量追加数据:
<?php
……
$tmp->pparse("Output","FileHandle",true);
……
?>
如许,FileHandle被剖析后就会被追加到Output变量的值的前面而不是复杂的交换。
为何要利用block机制?
例如说咱们想要显示:
你订购的是:随身听 电视机,……
用下面的办法直接追加的话,能够显示出来的是:
你订购的是:随身听 你订购的是:电视机 你订购的是:……
明显不合适咱们的请求,那末若何无效处理这个成绩呢?这里就要利用block机制。
咱们将下面的模板文件UserTemp.ihtml修正一下:
你订购的是:
<!-- BEGIN Product_List -->
{Product}
<!-- END Product_List -->
如许咱们就界说了一个名为"Product_List"的block。
响应的法式为:
<?php
include "template.inc";
$tmp=new Template("/home/user_dir/user_temp/");
$tmp->set_file("FileHandle","UserTemp.ihtml");
$tmp->set_block("FileHandle","Product_List","Product_Lists");
//将文件中的block交换成{Product_Lists}
$tmp->set_var("Product","随身听");
$tmp->parse("Product_Lists","Product_List",true);
$tmp->set_var("Product","电视机");
$tmp->parse("Product_Lists","Product_List",true);
//详细利用中,可以用数组和轮回来做
$tmp->parse("Output","FileHandle");
$tmp->p("Output");
?>
如今的输入就是咱们想要的了局了。
兴趣可能会慢慢消亡,所以适当培养兴趣会激发自己无线的乐趣,有了乐趣,编程有啥难的。 |
|