谁可相欹 发表于 2015-2-4 00:20:28

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:55

有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。

海妖 发表于 2015-2-4 16:39:33

微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。

不帅 发表于 2015-2-9 08:18:04

为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。

透明 发表于 2015-2-10 13:40:26

做为1门年轻的语言,php一直很努力。

金色的骷髅 发表于 2015-3-1 11:19:51

基础有没有对学习php没有太大区别,关键是兴趣。

活着的死人 发表于 2015-3-11 11:15:21

微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。

愤怒的大鸟 发表于 2015-3-18 07:42:23

你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。

分手快乐 发表于 2015-3-19 23:35:37

我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。

简单生活 发表于 2015-3-26 05:01:15

建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。

深爱那片海 发表于 2015-3-27 11:09:38

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

飘灵儿 发表于 2015-3-29 22:13:22

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

柔情似水 发表于 2015-4-4 01:24:57

说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。

小女巫 发表于 2015-4-7 04:40:51

做为1门年轻的语言,php一直很努力。

小妖女 发表于 2015-4-12 18:03:44

再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。

第二个灵魂 发表于 2015-4-16 22:12:50

当然这种网站的会员费就几十块钱。

兰色精灵 发表于 2015-4-19 00:28:05

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。

再见西城 发表于 2015-4-21 13:23:14

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。

爱飞 发表于 2015-5-5 01:34:52

建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。

若相依 发表于 2015-5-6 04:12:20

学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
页: [1]
查看完整版本: PHP教程之模板,PHPLIB处置体例(二)