問題描述
我已經看到,建議 (特別是 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。