行业标准代码PHP和JSON数据通过ajax或直接输出

时间:2013-07-17 17:00:44

标签: php javascript ajax json

我总是遇到这两个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中的解析是没有模板引擎的混乱,第一种方法在所有浏览器和移动设备中都能更好地工作。

所以请给我一个建议,我应该使用什么以及哪些代码符合行业标准。

2 个答案:

答案 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; ?>