在PHP中存储小部件、xml片段和容器的最佳方式


Best way to store widgets, XTHML snippets and containers in PHP

我有一些XHTML小部件和容器,它们具有静态或大部分是静态内容。当我说大多是静态的时候,我的意思是一个小部件,它使用一个或多个从数据库或配置传递给它的变量。这些都在多个前端页面中使用。目前,我将它们存储为返回XHTML字符串的PHP函数,这些函数存储在单个"函数"文件中,该文件"包含"在每个页面上。在适用的情况下,我要么传递这些函数的配置值,要么从内部执行一些DB调用。

有其他更好的方式来存储这些在PHP代码?还是说我做的很标准?

(我没有使用Smarty或其他模板系统,我宁愿不添加另一层抽象)

这是很标准的,大多数你能做的就是把它们分别分成文件,然后有一个包含它们的"includes"文件。

(我没有使用Smarty或其他模板系统,我宁愿不添加另一个抽象层。)

我知道这不是你想要的,但这正是我要做的。我不一定会使用模板引擎与它的女人语法,但我将使用php和单独的片段模板包含结构标记,然后传递我需要的,例如:
function get_partial($path, $args = array())
{
   ob_start();
   include($path);
   return ob_get_clean();
}
function include_partial($path, $args = array())
{
   echo get_partial($path, $args);
}

然后在你的模板中:

<div class="<?php echo $args['classname']?>">
  <h4><?php echo $args['title'] ?></h4>
  <?php echo $args['content'] ?>
</div>