首先,PHP 是一个模板引擎——根据我的经验,位于 PHP 之上的模板引擎仅适用于最简单的情况,并且很容易被淘汰。
其次,原始代码与任何方法一样好。冒着陈述显而易见的风险以使其更好地将其抽象为函数;
function output_block($BACKGROUND, $LINK, $IMAGELINK, $DESCRIPTION, $PRICE)
{
echo "<div id='contentblock' style='background-image:url(images/$BACKGROUND.png);'>
<div id='picture'><a href='$LINK'><img src='$IMAGELINK'/></a></div>
<div id='description'><p>$DESCRIPTION</p></div>
<div id='price'><p class=price>$PRICE</p></div>
</div>";
}
如果你想让它变得更好,那就采用一个框架,一个完整的管理配置页面如下所示。所有的 HTML 胶水都是由框架提供的——下面的代码是真实的,但实际上是为了说明框架如何为您提供大量的垃圾工作。
在下面的示例中,如果我想编辑单个实体,我会将其更改TableViewEdit
为 aFormView
并提供实体的实例而不是可迭代列表。
$entity = new CbfConfig(); // Database entity
$page = new AdminWebPage("Site Configuration"); // Page for output
/*
* build the view
*/
$vil = new ViewItemList();
$col = &$vil->add(new ViewItem("description","Description"));
$col->get_output_transform()->allow_edit(false); // this field cannot be editted
$col = &$vil->add(new ViewItem("value","Value"));
$v1 = new TableViewEdit($entity, $vil,"admin_values"); // present as standard editable table
/*
* output the page
*/
$page->begin();
$iterable_list = CbfConfig::site_begin();
$page->add_body($v1->get_output($iterable_list,'admin_config'));
$page->end();