問題描述

我已經看到,建議 (特別是 php 7) 不能用?> 關閉 php 文件

我的許多 WP php 文件結束如下:

<?php get_sidebar(); ?>
<?php get_footer(); ?>

我應該刪除結束標籤,並有這樣的東西

<?php get_sidebar(); ?>
<?php get_footer(); 

在我的文件結尾?

最佳解決方案

是的,請避免在文件末尾關閉 PHP 標籤,不僅使用 PHP 7,還可以使用 PHP 5 。

原因是,如果關閉標籤,標籤之後的任何東西,甚至是空行,都將被髮送到輸出,並且將使 PHP 發送頭部,以防止 cookie 被設置,重定向到工作,feed 有效,等等。

我想你曾經遇到過一個消息

Cannot modify header information – headers already sent by (output started at …) in … on line …

文件結尾的關閉?> 可能是原因。

次佳解決方案

鑑於您的具體示例,我將保留結束標籤,即模板中的 one-line 函數調用。它是一致的,有助於清晰 (與 WordPress 推薦 trailing commas for arrays 相同) – 否則假設一個 non-developer 拾取您的文件並開始添加:

<?php get_footer();

<div>What the hell am I doing wrong?</div>

然而,對於所有其他文件 (功能,包括等),建議絕對是一個好主意:

<?php // Start of file

class MY_Class {
    function just_do_it() {
    }
}

// Bye bye closing tag

我發現它更清潔,正如其他人所説,沒有可怕的 「頭已經發送」 的風險。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。