我总是遇到这两个php代码的问题。两者都完美无缺,但我想问你们什么是行业标准。用这种方式用php刷新html是否可以。
foreach($items as $item){
echo '<div class="well">
<div class="row-fluid">
<div class="span3">
<img src="' . $item[0] . '">
<ul id="info">
<li>Author : '.$item[1].'</li>
<li>Release Date: '.$item[2].'</li>
</ul>
</div>
<div class="span9">
<h3>' . $item[3] . ' by ' . $item[1] . '</h3>
<p>' . $item[4] . '</p>
</div>
</div>
</div>
';
}
另一种方法是只回显json值
foreach($items as $item){
jsonencode($item);
}
在此之后我将不得不使用模板引擎解析浏览器并使用Tempojs或Mustache解析它们。
所以第二种方式是更清晰的代码,但是DOM中的解析是没有模板引擎的混乱,第一种方法在所有浏览器和移动设备中都能更好地工作。
所以请给我一个建议,我应该使用什么以及哪些代码符合行业标准。
答案 0 :(得分:3)
没有“行业标准”代码这样的东西。 PHP和JavaScript是通用语言,开发人员可以使用它们做任何事情。多年来,出现了共同的模式和方法。这就是设计模式之类的事情。
为了解决您的问题,您只想传递数据,您根本不希望传递任何与模板/显示相关的内容。当你这样做时,你会创建更大的HTTP请求,并且你也会对最终输出做出假设。
有一个方法可以将数据作为数组或对象返回,然后使用PHP将其传递给带有PHP标记的HTML模板;或者如果通过JavaScript请求提到的Mustache模板。
答案 1 :(得分:2)
不是回显长串联字符串,而是首选标准的php模板标签:例如:
<?php //do stuff ?> or <?= //stuff to be echoed ?>
这样做会将您的第一个代码块变为:
<?php foreach($items as $item): ?>
<div class="well">
<div class="row-fluid">
<div class="span3">
<img src="<?=$item[0]?>">
<ul id="info">
<li>Author : <?=$item[1]?></li>
<li>Release Date: <?=$item[2]?></li>
</ul>
</div>
<div class="span9">
<h3><?=$item[3]?> by <?=$item[1]?></h3>
<p><?=$item[4]?></p>
</div>
</div>
</div>
<?php endforeach; ?>