6

いくつかの変更を加える必要がある Web サイトを継承しました。いつものように、ウェブサイトの開発には多くの方法があります。ただし、この特定のサイトは私を混乱させます。すべての html はヒアドキュメント php スクリプトを介して配信されます。ただし、php 処理は行いません。

例 (構造のみ) index.php:

<?php
$html = <<<html

<html>
    <head></head>
    <body>
        {more simple HTML here.  No php processing to be done}
    </body>
</html>
html;
echo $html;
?>

私はphpを理解していますが、php変数処理なしで単純に配信するのではなく、なぜこの方法でページを生成するのかわかりません。その人が自分が何をしているのかわからなかったと思い込む前に、聞いてみようと思いました. 何か案は?

これは StackOverflow への私の最初の投稿なので、フォーラムのエチケットに関するフィードバックも歓迎します。

4

4 に答える 4

1

PHPファイルはすでにHTMLのテンプレートファイルです。

コードを次のように置き換えます。

<html>
    <head></head>
    <body>
        {more simple HTML here.  No php processing to be done}
    </body>
</html>

PHPファイルの本文にHTMLを含めるだけで、との外に<?php?>HTMLが返されます。

于 2013-01-08T16:52:02.960 に答える
1

ヒアドキュメントの理由はおそらく、ヒアドキュメント内で引用符をエスケープしたり、引用符についてまったく心配したりする必要がないためですが、文字列リテラルではそれに応じて引用符を管理する必要があります。

ただし、HTML を別のファイルに保持するか、テンプレート システムを使用する方が一般的です。一般的には、ヒアドキュメントや文字列リテラルよりも優れたオプションです。

于 2013-01-08T14:33:56.143 に答える
1

レガシー開発者の頭の中に入ろうとして何週間も費やすことができますが、それは時間の無駄です。

これらのインスタンスでは、PHP で何も必要としないようにコードをリファクタリングすることをお勧めします。彼らが行ったことを行うメリットはなく、編集するたびに耳障りな経験になるでしょう。

于 2013-01-08T16:58:02.420 に答える
1

HEREDOC 内で PHP 変数を使用することを意図していた可能性があります。あなたの例にはそれらがありませんが、それらが場所で使用されていると推測する危険があります. そこから、HEREDOC が一貫性のためにあらゆる場所で使用されていることを想像するだけです。

于 2013-01-08T14:31:43.943 に答える