0

私はいつも疑問に思っていました: 大規模なオープンとクローズの PHP (つまり、テンプレート) を持つことは害があるのでしょうか?

明確にするために:

 <html>
    <?php echo $test; ?>
    <body <?php echo $test2; ?>>
    <table>
        <?php foreach ($rows as $row): ?>
        <tr>
            <td><?php echo $row['cell1']; ?></td>
            <td><?php echo $row['cell1']; ?></td>
            <td><?php echo $row['cell1']; ?></td>
            <td><?php echo $row['cell1']; ?></td>
            <?php echo $row['added cells']; ?>
        </tr>
        <?php endforeach; ?>
    </table>
    <?php echo $someMorePhp; ?>
    <div>
        <?php /*do some more php stuff */ ?>
    </div>
    etc etc
    etc

または、次のようにすることをお勧めしますか

<html>
<php echo $test.'<body'.$test2; ?>>
<table>
    <?php foreach ($rows as $row) {
    echo '<tr>
        <td>'.$row['cell1'].'</td>
        <td>'.$row['cell2'].'</td>
        <td>'.$row['cell3'].'</td>
        <td>'.$row['cell4'].'</td>
        <td>'.$row['cell1'].'</td>
        '.$row['added cells'].'
    <tr>';
    }
</table>
// etc

これは、マイクロ最適化などのように見えるかもしれません。明確にするために、特定のユースケースではなく経験則を探しています...単一のスクリプト実行中にphpエンジンに出入りするのは痛いですか...

4

1 に答える 1

0

いいえ、それは問題ではありません。この場合は常に読みやすさを優先する必要があります。

また、可能であればショートタグを有効にすることも検討してください(ただし、コメントに記載されているように、XML 構文にいくつかの副作用や問題がある可能性があることに注意してください)

<? if ($bool) { ?>
    <?= $myVarThatIWantToOutput ?>
<? } ?>

または、smarty や twig のようなテンプレート エンジンを使用することを考えてみてください。これらは何らかの形で懸念の分割を強制し、いくつかの作業をより簡単に (そしてより読みやすく) し、コンパイル済みのテンプレートをキャッシュして適切な速度を維持できるようにします。

于 2013-11-15T11:04:31.853 に答える