仓酷云

标题: PHP网页编程之利用phplib7.2中的Template处置BLOCK多... [打印本页]

作者: 简单生活    时间: 2015-2-4 00:20
标题: PHP网页编程之利用phplib7.2中的Template处置BLOCK多...
在学习PHP这六个月里,每看到一个优秀的php脚本,就会兴奋的手舞足蹈,嘴里还不停的说:太酷了,太酷了。呵呵,很幼稚吧,但这可能就是兴趣。   如今大局部模板类中都供应block功效,block用来处置不肯定个数的HTML 元素,当呈现多层不成定的元素,就会用到block的嵌套,关于block嵌套的用法,经由屡次测试仍是有需求注重的中央,上面用一个例子申明block嵌套的一种处置办法。

1、咱们先来看一下例子要到达的后果(图一):



2、模板文件test.htm
模板文件就是静态的页,可以用你喜好的网页编纂器编制他的外不雅


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无题目文档</title>
</head>
<body>
<table width="400" border="1" bordercolor="#000000">
<tr><td><div align="center">{myname}测试block</div></td></tr>
<tr><td>我的动植园:</td> </tr>
<!-- BEGIN animalList -->
<tr><td>{animal}</td></tr>
<!-- BEGIN plantList -->
<tr><td>  {plant}</td></tr>
<!-- END plantList -->
<!-- END animalList -->
</table>
</body>
</html>

3、上面是php代码文件test.php


<?php
include_once("template.inc");
$t = new template(".");
$myname = "小猪噜噜";

/***************************************
animal数组作为第一层block中轮回数据,
plant数组作为第二层block中轮回数据,
也能够依据本人的需求,从数据库中读去
数据纪录
***************************************/
$animal = array("植物","植物");
$plant = array(array("小猪","小白","小强"),array("玫瑰","向日葵"));

$t->set_file("myfilehandle","test.htm");

//模板中{myname}被$myname的值交换
$t->set_var("myname",$myname);

/*************************************
设置block ,先设置第一层block,文件句
柄是myfilehandle,再设置第二层block,
文件句柄是第一层block。注重两句语句
的次第
*************************************/
$t->set_block("myfilehandle","animalList","a");
$t->set_block("animalList","plantList","p");

//第一层block入手下手
for ($i=0;$i<count($animal);$i++) {

/*******************************
这一句,很主要,不克不及少,它的作
用是排除上一次序递次二层block的内容
不然,了局如(图二)所示,会重
复显示上一次序递次二层block的内容。
缘由是由于parse("p","plantList",true)
当选项ture
******************************/
$t->set_var("p");

//模板中{animal}被$animal[$i]的值交换
$t->set_var("animal",$animal[$i]);

//第二层block入手下手
for ($j=0;$j<count($plant[$i]);$j++) {

//模板中{plant}被$plant[$i][$j]的值交换
$t->set_var("plant",$plant[$i][$j]);

//解析第一层block
$t->parse("p","plantList",true);
}

//解析第二层block
$t->parse("a","animalList",true);
}
$t->parse("out","myfilehandle");
$t->p("out");
?>



4、短少$set_var(“p”)语句的后果:


例子对照复杂,需求注重的中央我已在法式的响应地位做懂得释。这只是个中的一种处置嵌套block的办法,与人人同享,但愿对人人有匡助。感激phpx和phpe.net上列位伴侣的匡助完成此文。


  第1步环境配置好了,你算了进了1小步了,那么第2步呢 就是调出第1个程序 一般都是用hello world,视频教程里面我都做了,hello world
作者: 爱飞    时间: 2015-2-4 11:56
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
作者: 老尸    时间: 2015-2-6 17:03
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: admin    时间: 2015-2-8 01:57
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者: 海妖    时间: 2015-2-9 01:22
Ps:以上纯属原创,如有雷同,纯属巧合
作者: 若相依    时间: 2015-2-11 20:09
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 小妖女    时间: 2015-3-1 12:00
实践是检验自己会不会的真理。
作者: 透明    时间: 2015-3-7 11:58
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 山那边是海    时间: 2015-3-15 03:36
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: 简单生活    时间: 2015-3-17 12:08
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者: 再现理想    时间: 2015-3-24 00:16
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
作者: 不帅    时间: 2015-3-27 15:10
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: 冷月葬花魂    时间: 2015-3-31 04:20
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者: 精灵巫婆    时间: 2015-4-5 11:48
基础有没有对学习php没有太大区别,关键是兴趣。
作者: 飘灵儿    时间: 2015-4-11 06:47
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
作者: 活着的死人    时间: 2015-4-13 10:15
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
作者: 愤怒的大鸟    时间: 2015-4-18 11:38
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
作者: 兰色精灵    时间: 2015-4-22 05:43
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者: 只想知道    时间: 2015-6-4 23:31
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
作者: 因胸联盟    时间: 2015-6-7 06:21
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。




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