4

これは技術的な質問というよりも疑問です。この質問がばかげているように見えたり、答えが明らかな場合は申し訳ありませんが、私は疑問に思っていました...

記述する必要がある HTML を常にエコー アウトするか、HTML を記述する必要がある場合は PHP タグを閉じてから再度開く方がよいでしょうか? 本質的にHTML内にPHPを埋め込むのですか?

それぞれの例を次に示します。

                for($x=0;$x<count($customers);$x++)
            {

                echo '<tr>';
                echo '<td><a class=summary href=mailto:'.$customers[$x]["Email"].'>'.$customers[$x]["Email"].'</td>';
                echo '<td>'.$customers[$x]["Title"].'</td>';
                echo '<td>'.$customers[$x]["FirstName"].'</td>';
                echo '<td>'.$customers[$x]["Surname"].'</td>';
                echo '<td>'.$customers[$x]["DeliveryCountryID"].'</td>';
                echo '<td>'.$customers[$x]["LanguageID"].'</td>';
                echo '</tr>';
            }

これは、すべての HTML がエコーされていることを示しています

                <?php
                for($x=0;$x<count($customers);$x++)
                {
            ?>
                    <tr>
                    <td><?=$customers[$x]["Email"]?></td>
                    <td><?=$customers[$x]["Title"]?></td>
                    <td><?=$customers[$x]["FirstName"]?></td>
                    <td><?=$customers[$x]["Surname"]?></td>
                    <td><?=$customers[$x]["DeliveryCountryID"]?></td>
                    <td><?=$customers[$x]["LanguageID"]?></td>
                    </tr>
            <?php
                }
?>

HTML 内に PHP を埋め込む例があります。

私が尋ねる理由は、私がプログラミングのキャリアを始めたばかりで経験が少なく、明らかに私よりも経験豊富な古い開発者がすべてをエコーし​​た会社に入社したためです。

PHP を HTML に埋め込むのが好きで、コードが読みにくい場合があるため、この方法を行ったことはありません。

彼がこのようにした理由はありますか、またはそれが最善の方法ですか、それとも私が物事を行う傾向があるようにコードをゆっくりと変更する価値がありますか?

4

4 に答える 4

0

これは個人的な好みですが、私が見た最も一般的な方法は、HTML をベースにして、必要に応じて PHP を挿入することです。他の誰かが述べたように、ビジネス ロジックをプレゼンテーションから切り離してください。関数またはコード ビハインド用に別のディレクトリを使用し、ドキュメントの先頭で include_once を実行します。そうすれば、プレゼンテーション コードは非常に単純な HTML になり (通常、デザイナーは扱いやすくなります)、必要なものを挿入するために PHP が使用されます。

これは、PHP が CMS のように使用されている場合や、データベース駆動型の Web コンテンツを使用している場合に特に役立ちます。可能な限り、ロジックをプレゼンテーションから分離してください。

于 2013-03-28T12:33:44.287 に答える
0

コードをエコーする方法はたくさんあります。これが最善の方法だとは考えられません。

すべてはあなた次第です。何が好き?途中で、HTML に PHP を埋め込むのが好きです (2 番目のアプローチ)。しかし、PHP ですべての HTML コードをエコーし​​たようなものかもしれません。

すべてはあなた次第です。あなたが選ぶもの。すべて同じです

于 2013-03-28T12:19:01.917 に答える
0

最善の方法は、Smarty などのテンプレート エンジンを使用して、ビジネス ロジックとプレゼンテーションを分離することです。これにより、コードの柔軟性が向上します。

あなたの場合("<td><?=$customers[$x]["Email"]?></td>")、読みやすく理解しやすいため、2番目のアプローチをお勧めします。これには、さらに 2 つの利点があります。

  1. デザイナーなど、他の誰かがアプリケーションで作業している場合は、その人が変更を加えるのが簡単になります。
  2. 将来、テンプレート エンジンを使用する場合は、コードを簡単に変換できます。
于 2013-03-28T12:24:10.243 に答える
0

まず、「より良い」とは何かを自問してください。

「より良い」がより読みやすいものである場合、次の問題に直面する可能性があります。

  1. HTML コードでは、いくつかある<?php echo $var[attr]; ?>と簡単に見逃す可能性があります。
  2. PHP コードでは、多くのecho '<tr><td ............................ ';場合、特にエスケープ文字がたくさんある場合、内部の内容を理解するのに問題が生じる可能性があります。改行文字を追加する必要があります。

私の答え: それはあなたにとって何がより重要かによります: HTML? 1. PHP を使用しますか? 2を使用します。

「より良い」が何かより速い場合は、1 を使用します。解析が少ないほど、時間がかかりません。しかし、今回は本当に重要ですか?

「より良い」が短くてメモリ消費が少ないものである場合、HTML ファイルのテキストは少なくなります。しかし、それらのバイトは本当に重要ですか?

とにかく、私は常に 2 つの方法の両方をマージすることを避けています。たとえば、次のようになります。

<div>
  <p>Some text....</p>
<!-- some other stuff like lots of form fields -->
<?php
// some php code
echo '</div>';

これは、IDE では、PHP を調べないと、閉じられていないタグなどのエラーを簡単に見つけることができるためです。

于 2013-03-28T12:25:32.027 に答える