- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Quickskin其实很简单
Quickskin其实很简单,基本上看它的example就能看懂。我写这篇东西的目的,只是想给自己的学习留下一个小小的脚印。
属性:
bool $reuse_code
默认值: false
是否将编译好的模板储存起来以便以后使用。如果被设置成false,那么QuickSkin在每次被使用的时候编译模板
string $template_dir
默认值: _skins/
模板读取目录。需要注意的是路径结尾的”/”是必需的!
string $extensions_dir
默认值: quickskin_extensions/
扩展类存放的路径。扩展类是可选的。如果不使用扩展类,那么没有必要修改这个设置。结尾的”/”是必须的
string $temp_dir
默认值: _skins_tmp/
编译之后的模板存放的目录。必须要保证PHP有写入该目录的权限。结尾的”/”是必须的
string $cache_dir
默认值: cache/
输出的缓存文件存放闻之。必须要保证PHP有写入该目录的权限。结尾的”/”是必须的
int $cache_lifetime
默认的输入缓存有效时间,单位是秒。
基本方法
1.void set()
用来设置QuickSkin一些属性,具体属性为第一部分的那些属性
2.void assign()
这个是QuickSkin中赋值的重要操作。主要用法有以下几种
$tpl-assign(’name’,$asdf); 这个操作将$asdf这个值赋给模板变量name,在模板中出现{name}的时候,以$asdf替换
$tpl-assign($array=array());这里$array是一个一维数组。这里没有模板变量名。其实这是一种比较省事的赋值办法。这里的赋值结果是模板变量名位数组的index,值就为index对应的content的内容。比如$array(“name”=$name,”gender”=$gender) 那么上面赋值就相当于$tpl-assign(“name”,$name);
$tpl-assign(“gender”,$gender);
$tpl-assign(“first”,$array1=array());这个地方和上一个有些类似。但是first并非模板变量,而是命名空间。这种情况一般出现在两个数组index相同的情况下,为了区分。比如页面要显示两个人的资料,都有姓名,性别等内容。那么为了区分开,给每个数组一个命名空间,比如first和second。以上一例的数组为例,比如第一个人的姓名在模板中应该表示为{first.name},第二个就为{second.name}.主要的作用就是区分。
$tpl-assign(“list”,$list=array(array()));这里$list为一个二维数组,并且第一维的index为数字形式,比如$list[1].$list[2]这样子,二维字段保持一致。这种赋值方法是用在下面控制中,作为循环输出的(具体见控制结构)
其实assign的用法不止这些,还有一些其他的,但是主要用法就这么四种,我在使用中也就用到这么四种。别的要么格式太怪,要么就是根本就不适用,所以没有写出,有兴趣可以看看QuickSkin官网的Example
PS:assign的用法可以混用的,具体还是要看需求而定。不过我在使用中都是把所有变量定义在一个多维数组中。只需要assign一次就可以完成。比如
$data[title]=“asdf”;
$data[list]=array(array(“name”=”Lorry”,”gender”=”male”),array(“name”=”duckdull”,”gender”=”female”);
$tpl-assign($data);
这样子一次性就完成了赋值,index就为模板变量名。比较好用
3.void addtpl()
将一个子模板加到主模版中。
个人觉得这个比较有用,一定程度上可以避免在模板中使用这种格式,使得所有页面问题都交给模板,模板不需要考虑逻辑问题。
举个简单的例子。VIP用户和非VIP用户的用户中心面板。除了侧边栏,其余的全部都相同。将侧边栏做成子模板,则可以在程序中判断加载拿一个子模板,达到VIP和非VIP侧边栏不同的效果。
4.void append()
追加模板变量的内容。模板变量可以为数组也可以为字符串。
举例$tpl-assign(“list”,array(“name”=”Lorry”));
$tpl-append(“list”,array(“name”=”duckdull”));
那么这个时候,上面两句话就相当于$tpl-assign(“list”,array(array(“name”=”Lorry”),array
文档评论(0)