我们应该在WordPress短代码中使用ob_start()吗

时间:2019-08-12 作者:Arifur Rahman

我们使用了短代码,如bellow

   ob_start();
    $rand = uniqid();


    ?>
    <div class="faq-item-sm panel panel-default">
        <div class="panel-heading" id="headingTwo">
            <h4 class="panel-title"><a data-toggle="collapse" href="#faq<?php echo $rand; ?>" data-parent="#accordionFaq" class="collapsed">  <?php echo $question; ?><span class="caret-toggle closed">–</span><span class="caret-toggle opened">+</span></a></h4>
        </div>
        <div id="faq<?php echo $rand; ?>" class="panel-collapse collapse <?php if($faq_active == true){ echo \'in\';} ?> ">
            <div class="panel-body">
                 <?php echo $answer; ?>
            </div>
        </div>
    </div>
    <?php
    return ob_get_clean();
在php中多次使用echo和ob\\u start是否是最佳实践。这是否会影响性能。

1 个回复
SO网友:Krzysiek Dróżdż

这是一种方法。

我喜欢它,因为它允许您非常轻松地编写HTML代码,并且使其非常明显,易于维护。但我想这只是基于意见。

这对你的表现没有多大影响。您不应该使用输出缓冲来生成网站的全部内容,因为您希望尽快开始向浏览器发送响应,但这里的情况并非如此。。。

您还可以:

通过串联字符串准备HTML输出(IMHO,这更难阅读,也更容易产生一些HTML错误),

  • 使用一些“视图”模式

  • 相关推荐