|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。注意不是“Hypertext Preprocessor”的缩写,这种将名称放到定义中的写法被称作递归缩写。 防止页面元素反复
“这的确不错”,你或许会想,“我的网站次要就是由大批的静态页面组成。如今我可以从一切页面中删除它们的公共局部,要更新这些公共局部其实太费事了。今后我就能够用模板制造出很轻易保护的一致页面结构。”但工作并不是这么复杂,“大批的静态页面”道出了成绩的地点。
请思索下面的例子。这个例籽实际上只要一个example.php页面,它之所以可以生成全部网站的一切页面,是由于它使用了URL中的查询字符串从数据库之类的信息源静态地机关出页面。
咱们当中的大多半人所运转的网站其实不必定都无数据库撑持。咱们的网站大多半由静态页面组成,然后用PHP在这里、那边加上一些静态功效,好比搜刮引擎、反应表单等。那末,若何在这类网站上使用模板呢?
最复杂的办法是为每个页面复制一份PHP文件,然后在每个页面中把PHP代码里代表内容的变量设置成适合的页面内容。例如,假定有三个页面,它们分离是主页(home)、关于(about)和产物(product),咱们可以用三个文件分离生成它们。这三个文件的内容都类如:
<?php
// home.php
require('class.FastTemplate.php');
$tpl = new FastTemplate('.');
$tpl->define( array( 'main' => 'main.htm',
'header' => 'header.htm',
'leftnav' => 'leftnav.htm' ) );
$content = "<p>接待会见</p>
<img src="http://edu.cnzz.cn/NewsInfo/demo.jpg">
<p>但愿你可以喜好本网站</p>";
$tpl->assign('CONTENT', $content);
$tpl->parse('HEADER', 'header');
$tpl->parse('LEFTNAV', 'leftnav');
$tpl->parse('MAIN', 'main');
$tpl->FastPrint('MAIN');
?>
明显,这类办法有三个成绩:咱们必需为每个页面复制这些庞杂的、牵扯到模板的PHP代码,这与反复公共页面元素一样使得页面难以保护;如今文件又夹杂了HTML和PHP代码;为内容变量赋值将变得十分坚苦,由于咱们必需处置好大批的特别字符。
处理这个成绩的关头就在于分别PHP代码和HTML内容,固然咱们不克不及从文件中删除一切的HTML内容,但可以移出绝大多半PHP代码。
学习如何将PHP与HTML结合起来完成简单动态页面 |
|