Php 回显重复代码时的最佳实践

Php 回显重复代码时的最佳实践,php,html,Php,Html,我有一个问题困扰了我很长时间。假设我有一个包含多个嵌套div和span的代码。所有这些构成了一个内部有图像的正方形 echo '<div> <div> <div> <div> <span> <img src='.$image.'> </span></div></div></div>'; echo'; 仅此代码大约有15行 根据我在以这种形式回显db结果时所知道的情况,我将整

我有一个问题困扰了我很长时间。假设我有一个包含多个嵌套div和span的代码。所有这些构成了一个内部有图像的正方形

echo '<div> <div> <div> <div> <span> <img src='.$image.'> </span></div></div></div>';
echo';
仅此代码大约有15行

根据我在以这种形式回显db结果时所知道的情况,我将整个html代码放入循环中。这样看起来很笨拙

有更好的做法吗

foreach ($query->result() as $row)
{
   $row->address_link=strtolower($row->network);
    echo '<li class="col-md-3 isotope-item '.$row->network.'">';    
                                echo '<div class="portfolio-item img-thumbnail">';
                               echo '<table border="0"><tr>';
                                    echo '<a href="order/'.$row->address_link.'/'.$row->value.'" class="thumb-info">';                                     
                                       echo '<img alt="" class="img-responsive" src="img/'.$row->address_link.'.png">';
                                        echo '<span class="thumb-info-title">';
                                            echo '<span class="thumb-info-inner">'.$row->value.' Euro</span>';                                            
                                        echo '</span>';
                                        echo '<span class="thumb-info-action">';
                                            echo '<span title="Universal" href="order/'.$row->address_link.'/'.$row->value.'" class="thumb-info-action-icon"><i class="icon icon-link"></i></span>';     
                                        echo '</span>'; 
                                    echo '</a>';
                                echo '</div>';
                                 echo '</tr><tr>';
                            echo '<span class="thumb-info-type">'.$row->value*$row->rate.' Eur</span>';
                            echo '</tr></table>';
                            echo '</li>';    
}
foreach($query->result()作为$row)
{
$row->address\u link=strtolower($row->network);
echo'
  • ”; 回声'; 回声'; 回声'; 回声'; 回声'; 回显'.$row->值*$row->费率''Eur'; 回声'; 回音“
  • ”; }
    如果您是php新手,可以为此定义一个
    函数

    function wrapImage($src){
       return '<div> <div> <div> <div> <span> <img src='.$src.'> </span></div></div></div>';
    }
    

    它叫。。这不是最佳实践,但如果HTML大于PHP数据,则比您的示例更好。

    如果您是PHP新手,您可以为此定义一个
    函数

    function wrapImage($src){
       return '<div> <div> <div> <div> <span> <img src='.$src.'> </span></div></div></div>';
    }
    

    它叫。。这不是最好的做法,但比你的例子更好,因为HTML比PHP数据更重要。

    首先,不要在循环中使用echo(优化),将输出存储在变量中,只打印一次

    重复的代码可以存储在函数中

    function square($image){
      return '<div> <div> <div> <div> <span> <img src='.$image.'> </span></div></div></div>';
    }
    $output = '';
    while ($loop){
      $output .= square($image);
    }
    echo $output
    
    function square($image){
    返回“”;
    }
    $output='';
    while($loop){
    $output.=square($image);
    }
    echo$输出
    
    首先,不要在循环中使用echo(优化),将输出存储在变量中,只打印一次

    重复的代码可以存储在函数中

    function square($image){
      return '<div> <div> <div> <div> <span> <img src='.$image.'> </span></div></div></div>';
    }
    $output = '';
    while ($loop){
      $output .= square($image);
    }
    echo $output
    
    function square($image){
    返回“”;
    }
    $output='';
    while($loop){
    $output.=square($image);
    }
    echo$输出
    
    你为什么需要查看源代码?你能举例说明“当以那种形式回显db的结果时,我将整个html代码放在循环中”是什么意思吗?席不知道你的“有图像的方块”实际上是什么样子,但是你不太可能真的需要五层嵌套的标记,像这样;大多数的
    标签可能都是不必要的。这就是我的代码看起来的样子,而且很笨拙。我想知道是否有办法使它更干净(功能除外)。如果我回显一个字符串,插入所有这些代码会更快吗?该脚本必须从db渲染大约300个产品,因此同时有10个用户将非常适合服务器。4个包装的
    div
    s看起来不正确。学习CSS。为什么你需要查看源代码?你能举一个例子说明“当以那种形式回显db的结果时,我将整个html代码放在循环中”的意思吗?席不知道你的“有图像的方块”实际上是什么样子,但是你不太可能真的需要五层嵌套的标记,像这样;大多数的
    标签可能都是不必要的。这就是我的代码看起来的样子,而且很笨拙。我想知道是否有办法使它更干净(功能除外)。如果我回显一个字符串,插入所有这些代码会更快吗?该脚本必须从db渲染大约300个产品,因此同时有10个用户将非常适合服务器。4个包装的
    div
    s看起来不正确。学习CSS。好的,这是我优化输出的最好方法,对吗?好的,这应该是标准化代码“使其干净”的最好方法。如果优化是你唯一的目标,不要使用函数,如果循环是唯一使用html div的地方。好的,这是我优化输出的最好方法,对吗?好的,这应该是标准化你的代码“使它干净”的最好方法。如果优化是你唯一的目标,不要使用函数,如果循环是唯一使用html div的地方。我相信这是最好的方法,也可以将它包含在函数中来构造代码。如果文件太大,你可以尝试移动html“模板”在另一个文件中,使用预设数据加载。我认为这是最好的方法,也可以将其包含在一个函数中来构造代码。如果文件太大,可以尝试将html“模板”移动到另一个文件中,并使用预设数据加载。