4

私はこの PHP と MySQL の本を読んでいますが、一重引用符で囲まれた複数行の文字列をエコーすることに関して、私が慣れ親しんでいるものとはかなり異なることに遭遇しました。

与えられた例はこれです:

    echo '<table align="center" cellspacing="0" cellpadding="5" width="75%">
        <tr>
          <td align="left"><b>This</b></td>
          <td align="left"><b>That</b></td>
          <td align="left"><b>Then</b></td>
          <td align="left"><b>When</b></td>
          <td align="left"><b>What</b></td>
        </tr>';

もちろん、PHP から抜け出して HTML を使用することもできますが、これが常に選択肢になるとは限りません。そして、そのオプションがない場合は、通常、読みやすいように文字列を分割します。

    echo '<table align="center" cellspacing="0" cellpadding="5" width="75%">' . 
      '<tr>'
        '<td align="left"><b>This</b></td>' . 
        '<td align="left"><b>That</b></td>' . 
        '<td align="left"><b>Then</b></td>' . 
        '<td align="left"><b>When</b></td>' . 
        '<td align="left"><b>What</b></td>' . 
      '</tr>';

この本の著者は php コミュニティで高く評価されており、この本は強く推奨され、よくレビューされています...私の質問は次のとおりです。

彼の方法には何か問題がありますか?これを実践する必要がありますか?

4

2 に答える 2

5

さらに多くの可能性があります

?>
<table align="center" cellspacing="0" cellpadding="5" width="75%">
    <tr>
      <td align="left"><b>This</b></td>
      <td align="left"><b>That</b></td>
      <td align="left"><b>Then</b></td>
      <td align="left"><b>When</b></td>
      <td align="left"><b>What</b></td>
    </tr>
<?php

また

echo <<<HTML
<table align="center" cellspacing="0" cellpadding="5" width="75%">
    <tr>
      <td align="left"><b>This</b></td>
      <td align="left"><b>That</b></td>
      <td align="left"><b>Then</b></td>
      <td align="left"><b>When</b></td>
      <td align="left"><b>What</b></td>
    </tr>
HTML;

最初のものはすべてのIDEでHTMLとして認識され、2番目のものは少なくともPHPStormで認識されるため、IDEはHTML-syntax-highlightingを使用してそれを強調表示できます。したがって、それほど悪くはありません;)しかし、私が覚えている限り、文字列でhtmlを検証することはできません)

さらに、処理コードから出力を分離する必要があります

于 2012-06-12T20:22:34.797 に答える
5

いいえ、まったく問題ありません。引用符で囲まれた文字列のスペース、タブ、および改行も同様に出力されることに注意してください。それが問題になることはめったにありません - 覚えておくべきことです。

私にとっては、あなたのやり方よりも少し読みやすく、間違えるのが少し難しいです。実際、あなたの例には構文エラーがあります。欠けているドットを見つけることができますか?

于 2012-06-12T20:18:52.870 に答える