如何处理重复很多的HTML代码

时间:2010-06-18 23:19:27

标签: php html

我有一些HTML代码部分通过页面重复很多。我把这个HTML代码放在一个函数中,以便于维护。它完美地运作。但是,我觉得这可能不是很好的练习。

function drawTable($item){
?>
   HTML CODE HERE
<?php
}

我还遇到了这样的问题:当我想使用json返回数据时,以下内容将无效,因为它将为NULL:

$response['table'] = drawTable($item);    
return json_encode($response);

处理重复很多的HTML代码的正确方法是什么?

由于

3 个答案:

答案 0 :(得分:3)

您可能希望使用模板而不是使用丑陋的heredoc或HTML嵌入式PHP函数,这些函数只是简单的不可维护且不适合IDE。

What is the best way to include a php file as a template?

如果您有重复段,只需使用循环多次加载模板。

尽管模板有助于D.R.Y.,但主要关注的是将表示与逻辑分开。在PHP函数中嵌入HTML不会这样做。更不用说你不必转义任何类型的引号或打破缩进/格式化。

使用模板时的语法示例:

$data = array('title' => 'My Page', 'text' => 'My Paragraph');

$Template = new Template();
$Template->render('/path/to/file.php', $data);

您的模板页面可能是这样的:

<h1><?php echo $title; ?></h1>

<p><?php echo $text; ?></p>

答案 1 :(得分:1)

function drawTable( $item ) { return '<p>something</p>'; }

function yourOtherFunction() {
$response['table'] = drawTable($item);    
return json_encode($response);
}

答案 2 :(得分:1)

使用此功能定义

function drawTable($item){
  return 'HTML CODE HERE';
}

调用
print drawTable($item);

这也适用于你的json返回值。