2012-02-07 3 views
2

В чем разница между следующими двумя частями кода? Версия B кажется труднее читать, с чрезмерным использованием открытых и закрывающих тегов, но я нахожу много учебников и примеров, используя этот формат. Есть ли предпочтительный подход, означающий процедурные причины для одного над другим, или это личное предпочтение?В чем разница между закрытием и отсутствием HTML в PHP?

Вариант А (прилагается в PHP)

<?php 
    $test = array('a','b','c'); 

    if (isset($test)) 
     { 
     echo '<div id="testmessage"> 
       <h2> 
        Test Message Below 
       </h2> 
       <ul>'; 

     foreach ($test as $t) 
      { 
      echo '<li>'.$t.'</li>'; 
      } 

     echo '</ul>'; 
     echo '</div>'; 

     } 
?> 

Version B (Множественные открытые и закрывающие теги)

<?php $test = array('a','b','c'); 
     if (isset($test)){ 
?> 

    <div id="testmessage"> 
     <h2> 
      Test Message Below 
     </h2> 
     <ul> 

    <?php 
     foreach ($test as $t) 
     { 
    ?> 

    <li><?php echo $t; ?></li> 

    <?php 
     } 
    ?> 

     </ul> 
    </div> 

<?php 
} 
?> 

ответ

0

Никакой реальной разницы, но это просто не рекомендуется.

И я даю вам версию C, которая может читать немного лучше, чем B:

<?php 
    $test = array('a','b','c'); 
    if (isset($test)): ?> 

    <div id="testmessage"> 
     <h2> 
      Test Message Below 
     </h2> 
     <ul> 

    <?php foreach ($test as $t): ?> 

    <li><?php echo $t; ?></li> 

    <?php endforeach; ?> 

     </ul> 
    </div> 

<?php endif; ?> 
+0

В качестве личного предпочтения я ненавижу этот стиль, потому что он слишком сильно напоминает мне VB, и VB заставляет меня съеживаться. :) – qJake

+0

@SpikeX ahh, но гораздо проще следовать случайным '}' и '{' – Neal

+0

Нет, если вы отступали правильно. ;) Ваш HTML * должен * совпадать с скобками, как если бы они были внутри них. – qJake

-1

Ничего, кроме памяти, PHP использует при хранении этих HTML-строки. Не считая HTML в скриптах PHP, вы в конечном счете уменьшаете размер (и нагрузку) парсера PHP, потому что скрипт PHP, который он читает, в конечном итоге будет меньше.

Версия B лучше, но только незначительно. В большинстве случаев вы не заметите разницы.

-1

Там нет практической разницы - только вопрос стиля.

Вы можете предпочесть второй способ, потому что вам не нужно избегать кавычек и т. Д. В HTML.

+0

(downvoters, пожалуйста, объясните) –

+0

Когда вы думаете прагматично, версия A нецелесообразна, потому что ее трудно поддерживать. – afuzzyllama

0
  • выглядит как стандартный хак-далеко стиль сочетания PHP и HTML
  • B выглядит как шаблон для шаблона двигателя родной PHP (например, Zend View)

Это действительно просто стиль но я предпочитаю B в сочетании с движком шаблонов.

0

Хотя вы можете подумать, что B труднее читать, на самом деле его легче поддерживать. То, что у вас есть, может быть свободно описано как шаблон.

Когда вы начинаете встраивать HTML, как версия A в PHP, что произойдет, если вам нужно изменить внешний вид вашей страницы позже? или что происходит, когда вы хотите изменить макет своей страницы?

Сочетание технологий, таких как CSS, javascipt/jquery с вашим html, управление заголовками, нижними колонтитулами и основными блоками контента становится более организованным.

Я думаю, вы найдете, используя шаблоны, сделают вашу жизнь проще в долгосрочной перспективе. Прежде чем вы уйдете и подумайте, что вам нужно обернуть один по своему усмотрению, есть many template engines to choose from.

Смежные вопросы