Php 输出html的echo语句的最佳实践?

Php 输出html的echo语句的最佳实践?,php,Php,大家好,我有一个应用程序,允许用户在一个空的div上发布内容。我需要一些关于如何使其可扩展的建议,因为我必须确保如果用户发布了大量内容,浏览器不会变慢或崩溃。我是初学者,请容忍我。因此,在下面的代码中,我有一个echo语句,用于打印html内容。我想知道如何使该功能在长期内可扩展?我应该将html设置为变量,然后打印它吗?我应该用JSON编码吗?请给我这样的建议。多谢各位 PHP代码 您是否尝试将数据逻辑和数据显示分开?如果您使用php MVC框架,这将更方便您的情况。 下面是一个简单的例子

大家好,我有一个应用程序,允许用户在一个空的div上发布内容。我需要一些关于如何使其可扩展的建议,因为我必须确保如果用户发布了大量内容,浏览器不会变慢或崩溃。我是初学者,请容忍我。因此,在下面的代码中,我有一个echo语句,用于打印html内容。我想知道如何使该功能在长期内可扩展?我应该将html设置为变量,然后打印它吗?我应该用JSON编码吗?请给我这样的建议。多谢各位

PHP代码


您是否尝试将数据逻辑和数据显示分开?如果您使用php MVC框架,这将更方便您的情况。 下面是一个简单的例子

//demo.html code
<?php
 include_once("connection.php");
 $conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
 //You can use Inner Join to display the matched records in between the two tables
$query = "SELECT * FROM `qpost` A INNER JOIN `user` B ON A.id=B.id ";
$result = $conn->query($query);
if ($result) {

} else {
   echo "bitch: " . $conn->error;
}
$time = time();
$data_result = array(); // focus on your data logic process
while ($row = $result->fetch_assoc()) {
  if ($time < $row['logged_time'] + 30) {
    $data_result[] = $row;
  }
}
?>
<?php foreach($data_result as $index => $row) { ?>
<div class='row'>
    <div class='col-md-8'>
        <div id='thePost' class='panel panel-default'>
            <div class='panel-heading'>
                <h3 class='panel-title'><span class='glyphicon glyphicon-user'> <b><?php echo $row['username']?></b></span>
                    &#8195&#8195 &#8195&#8195 <span class='glyphicon glyphicon-time'></span> Posted_on: <?php echo $row['time']?>
                </h3>
            </div>
            <div class='panel-body' style='word-break:break-all'>
                <h4><?php echo $row['question']?></h4>
                <p> <?php echo $row['description']?></p>
            </div>
            <div class='panel-footer'>
                <button class='btn btn-primary'>Request Connection</button>
                <button class='btn btn-success'>Chat <span class='glyphicon glyphicon-comment'></button>
            </div>
        </div>
    </div>
</div>
 <?php } ?>
//demo.html代码
     张贴在:

请求连接 聊天
你做的很好。 然而,正如Eric所说,您可以退出并重新进入PHP

您可以将html存储在一个文件中,使用file\u get\u contents获取它,然后使用sprintf对其进行操作

在名为“row.html”的文件中


%
      
发布时间:%s
%
%s

请求连接 聊天
然后在PHP中。。。。


我个人喜欢我的语言之间尽可能多的抽象:)


祝你好运

用PHP回显HTML的一种方法是使用
herdoc语法



< /代码>而不是回响,我倾向于进入HTML模式,使用<代码> .html到ECHO是的,考虑EICS提示,并且当在字符串中包含变量时,像这样做“一些文本”。$VALUTE。“还有一些”。当关闭html的php标记(如Eric建议的)时,只需使用或缩写:。你所说的可伸缩性是什么意思?不管里面有多少文本,div都会调整。
<div class='row'>
<div class='col-md-8'>

<div id='thePost' class='panel panel-default'>
    <div class='panel-heading'>
         <h3 class='panel-title'>
             <span class='glyphicon glyphicon-user'>  
                <b>%s</b> <!-- username -->
             </span> &#8195&#8195 &#8195&#8195 
             <span class='glyphicon glyphicon-time'>
                 Posted_on: %s  <!-- time -->   
             </span> 
          </h3> 
    </div>

    <div class='panel-body' style='word-break:break-all'>

        <h4>%s</h4> <!-- question -->
        <p> %s</p>  <!-- description -->

    </div>

    <div class='panel-footer'>
        <button class='btn btn-primary'>Request Connection</button>
        <button class='btn btn-success'>Chat <span class='glyphicon glyphicon-comment'></button>
    </div>
</div>

</div>
</div> 
<?php
while($row = $result->fetch_assoc()) {

     $time = time();

     if( $time < $row['logged_time'] + 30) {
          $rowHtml = file_get_contents('row.html');
          echo sprintf($rowHtml, 
                       $row['username'], 
                       $row['time'], 
                       $row['question'], 
                       $row['description']);
     }
}

?>
<?php
$name = 'MyName';

echo <<<MYHTML
<p>
My name is <b>"$name"</b>.
</p>
MYHTML;
?>