关于模板的一些思考

现在php的项目,动不动就smarty。甚至有的朋友做个两三个页面的新闻系统,也要用smarty。今天按捺不做,谢谢我的看法。本文原文地址为:http://www.miaoqiyuan.cn/p/template-thinks,希望转贴的朋友留一个我的链接。
做个新闻系统,不用smarty,10KB以内的代码搞定,如果用smarty后,就要几百KB了。有些人可能会说不用模板,修改的时候不方便,或则需要每篇文章使用不同的模板,直接用php代码,就不好控制了,在这里给我大家分享一套另类的模板方法。

<?php
  #init.php
  #获取皮肤设置,如果不存在,则调用default.php
 $skin = trim($_GET['skin']);
  if(!isset($skin) || @$skin==''){
    $skin = 'skin/default.php';
  }else{
    $skin = 'skin/'.$skin.'.php';
    if(!is_file($skin)){
      $skin = 'skin/default.php';
    }
  }
?>

数据处理文件

<?php
   include("inc/init.php");
   #其他数据处理,把所有的数据,用变量或数组保存
  ...
   $title = "1111";
   $newlist = Array(
     Array("111"),
     Array("222"),
     Array("333")
   );
   #引用模板文件
  require($skin);
?>

模板文件:default.php

<html>
<head>
<meta http-equiv=content-type content="text/html; charset=utf-8">
<title><?php echo $title?></title>
</head>
<body>
<?php foreach($newslist as $id => $item){?>
<li><?php echo $item['title'];?></li>
<?php }?>
</body>
</html>
?>

模板文件:skin2.php

<html>
<head>
<meta http-equiv=content-type content="text/html; charset=utf-8">
<title><?php echo $title?></title>
</head>
<body>
<table>
<?php foreach($newslist as $id => $item){?>
<tr><td><?php echo $item['title'];?></td></tr>
<?php }?>
</table>
</body>
</html>
?>

关于模板的一些思考》上有2条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注