仓酷云

标题: PHP教程之模板,PHPLIB处置体例(二) [打印本页]

作者: 谁可相欹    时间: 2015-2-4 00:20
标题: PHP教程之模板,PHPLIB处置体例(二)
理解网站这一概念之后不难看出,任何网站都是由网页组成的,也就是说想完成网站,必须先学会做网页,因此必须要掌握了HTML,才能为今后制作网站打下基础。模板   嵌套的模板

  parse()函数的一个乖巧的特征是它创立的MyOutput句柄是一个真实的模板变量,就象some_color 是一
个模板变量。所以假如你有另外一个模板,它有一个{MyOutput}标签,当你剖析第二个模板时,一切的
{MyOutput}标志将被交换为MyOutput中的剖析后的文本。这个特征答应你将一个模板文件嵌入到另外一个模板
中。所以,咱们能够有另外一个名为wholePage.ihtml的模板,内容以下:

对不起,你没赢。然而假如你赢了,咱们将对你说:
{MyOutput}

  而且在wholePage.ihtml被剖析后,最初的了局将是:

对不起,你没赢。然而假如你赢了,咱们将对你说:
庆祝!你赢了一辆新蓝色Honda Prelude!

  上面是剖析两个模板的PHP代码:

<?php

$t = new Template("/home/mydir/mytemplates/");

// 这三行同第一个例子一样
$t->set_file("MyFileHandle","MyTemplate.ihtml");
$t->set_var("some_color",$my_color);
$t->parse("MyOutput","MyFileHandle");

// 注重咱们没有挪用p()
// 这里,依然没有输入任何器材

// 如今剖析第二个模板
$t->set_file("WholeHandle","wholePage.ihtml");

// wholePage.ihtml 有 "{MyOutput}" 在外面
$t->parse("MyFinalOutput","WholeHandle");

// 一切的 {MyOutput} 被交换了
$t->p("MyFinalOutput");
// 输入 MyFinalOutput 的值

?>
 最初挪用了parse()和p()的两行语句可以兼并成一个简写函数pparse():

pparse("MyFinalOutput","SecondHandle");
  另外一个PHPLIB模板的特征是set_file()和set_var()函数也能一次吸收多组值,经由过程传递一个句柄/数组
对数组。这是一个例子:
<?php
$t->set_file(array( "pageOneHandle" => "pageone.ihtml",
"pageTwoHandle" => "pagetwo.ihtml"));
$t->set_var(array( "last_name" => "Gates",
"first_name" => "Bill",
"net_worth" => $reallybignumber));
?>
添加模板文本

  你可以给parse()和pparse()传递第三个参数,假如你想给模板变量追加数据而不是交换它。可以复杂
的利用true作为第三个参数挪用parse()和pparse(),如: <?php
$t->parse("MyOutput","MyFileHandle", true);
?>
  假如MyOutput已包括了数据,MyFileHandle将被剖析而且被追加到MyOutput已存在的数据上。这个手艺十分有效,假如你已有了一个模板,你想要统一段文本被反复屡次,例如列出一个数据库查询了局中的多行。你也多是显示数组中的变量,以下面的例子:
<?php
$t = new Template("/home/mydir/mytemplates/"); $t->set_file(array("mainpage" => "mainpage.ihtml", "each_element" => "each_element.ihtml"));reset($myArray);while (list($elementName, $elementValue) = each($myArray)) {
// 设置 'value' 和 'name' 为每个元素的值和名字
$t->set_var("name",$elementName); $t->set_var("value",$elementValue);
// 追加each_element的拷贝
$t->parse("array_elements","each_element",true);}$t->pparse("output","mainpage");?>
  这个例子利用了两个模板,mainpage.ihtml和each_element.ihtml。mainpage.ihtml模板多是如许:


Here is the array:

{array_elements}

 下面的{array_elements}标签将被each_element.ihtml的拷贝所交换,它将依据数组($myArray)停止重
复。each_element.ihtml模板看上去多是:

{name}: {value}

  处置了局是一个包括$myArray元素的格局化很好的表格。然而假如将两个模板兼并成一个模板不是更好
吗?实践上,它们可使用模板块来兼并利用。模板块答应从一个模板中掏出一块文本,所以你可以反复很
屡次,或在它下面做任何你想做的工作。然而我将在另外一篇文章讲述这个特征。
  培训的第一阶段,学习的是HTML/CSS/JavaScript基础。
作者: 仓酷云    时间: 2015-2-4 11:58
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 海妖    时间: 2015-2-4 16:39
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 不帅    时间: 2015-2-9 08:18
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
作者: 透明    时间: 2015-2-10 13:40
做为1门年轻的语言,php一直很努力。
作者: 金色的骷髅    时间: 2015-3-1 11:19
基础有没有对学习php没有太大区别,关键是兴趣。
作者: 活着的死人    时间: 2015-3-11 11:15
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 愤怒的大鸟    时间: 2015-3-18 07:42
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 分手快乐    时间: 2015-3-19 23:35
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者: 简单生活    时间: 2015-3-26 05:01
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者: 深爱那片海    时间: 2015-3-27 11:09
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
作者: 飘灵儿    时间: 2015-3-29 22:13
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
作者: 柔情似水    时间: 2015-4-4 01:24
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: 小女巫    时间: 2015-4-7 04:40
做为1门年轻的语言,php一直很努力。
作者: 小妖女    时间: 2015-4-12 18:03
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
作者: 第二个灵魂    时间: 2015-4-16 22:12
当然这种网站的会员费就几十块钱。
作者: 兰色精灵    时间: 2015-4-19 00:28
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
作者: 再见西城    时间: 2015-4-21 13:23
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 爱飞    时间: 2015-5-5 01:34
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者: 若相依    时间: 2015-5-6 04:12
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2