douzhi7661 2016-03-30 11:24
浏览 52
已采纳

在HTML页面中编写PHP代码的优选方法? [关闭]

I'm wondering if there is a standard rule or method when trying to construct a dynamic html page that consist of both html and php.

For example most of the time I code whatever pops up on my head and my php will end up looking like this:

<div class="front-title-blocks">
      <div class="table">
        <div class="table-row">

            <?php while ($wp_query->have_posts()) : $wp_query->the_post(); 
                if( have_rows('table_row') ):
                   while ( have_rows('table_row') ) : the_row(); ?>
                            <div class="table-cell">
                                <?php the_sub_field('single_cell'); ?>
                            </div> 
                    <?php endwhile; else :
                        // no row found
                endif; ?>
            <?php endwhile;  ?>

        </div>
      </div>
</div>

Then I noticed the same code that carried out the exact same function can be re-written like this.

<?php

while ($wp_query->have_posts()) : $wp_query->the_post();
    function repeaterField(){
            $output='';
            if( have_rows('table-b-table') ):
                while ( have_rows('table_row') ) : the_row();
                        $output .= "<div class='table-cell'>".get_sub_field('single_cell')."</div>";
                 endwhile; else : // no row found
            endif;
            return $output;
    }

    $output = "<div class='front-title-blocks'>
                  <div class='table'>
                       <div class='table-row'>".repeaterField()."</div>
                   </div>
                </div>";
endwhile; 

echo $output;

?>

The difference that I noticed:

• First example has multiple opening and closing php tag that switch between html and php continuously.

• Second example tend use php all the way and can be echo out easily using a variable.

• Second example took longer time to construct and rearrange.

• For arrangement sake I feel like second one is more organize but I do notice that the first example is easier to read though.

Any advise would be appreciated.

  • 写回答

5条回答 默认 最新

  • douwo8140 2016-03-30 11:58
    关注

    The first option it's 'better' (or I prefered this) for various reasons: because it's more readable, with code editors you could have syntaxis help and autocomplete and the page loads faster.

    Another thing to consider is that you will be dealing with double and simple quotes in the second method that could cause errors:

    echo "<div id='a'"+$var+"'...>";

    But the 2 options are valid.

    There are others questions like that: Outputting HTML with echo considered bad practice in PHP?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3