web-dev-qa-db-ja.com

Phpを閉じるかどうか

私はそれが?>でphpファイルを閉じないことが(特にphp 7で)推奨されることを読んだことがあります

私のWP phpファイルの多くは次のようになっています。

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

終了タグを削除して、このようなものがあるはずです

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

私のファイルの最後に?

13
IXN

はい、ファイルの終わりでPHPタグを閉じないでください。PHP 7だけでなく、PHP 5も閉じます。

その理由は、タグを閉じると、そのタグの後にあるものは空白行でも出力に送られ、PHPがヘッダーを送るようになり、Cookieが設定されるのを防ぎ、仕事にリダイレクトされるためです。など、有効になるようにフィードします。

私はあなたが次のようなメッセージに遭遇したことがあると思います

ヘッダ情報を変更することはできません - すでに...内の(...で開始された出力)によって送信されたヘッダ...

ファイルの終わりに?>が閉じていることが原因である可能性があります。

17
gmazzap

あなたの特定の例を考えて、私は終了タグ、すなわちテンプレート内の一行の関数呼び出しを保持するでしょう。それは一貫性があり明快さを助けます(WordPressが 配列の末尾のカンマ を推奨するのと同じように) - そうでなければ、開発者以外があなたのファイルを選んでそれに追加し始めるなら想像してください。

<?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

私はそれがきれいだと思います、そして他の人が述べたように、恐ろしい「ヘッダはすでに送られた」という危険性はありません。

11
TheDeadMedic