2012-02-07 2 views
2

다음 두 코드의 차이점은 무엇입니까? 버전 B는 열기 및 닫기 태그를 과도하게 사용하여 읽기가 더 어려워 보이지만이 형식을 사용하는 자습서와 예제가 많이 있습니다. 우선적 인 접근 방법이 있습니다. 즉, 하나의 절차 적 이유를 의미하거나,이 개인적 선호입니까? PHP 그 HTML 문자열 기억에 사용하는 메모리를 제외 (PHP 묶인)PHP에서 HTML을 둘러싸는 것과 둘러싸지 않는 것의 차이점은 무엇입니까?

버전 A

<?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>'; 

     } 
?> 

버전 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

실제적인 차이는 없지만 권장하지는 않습니다.

그리고 내가 당신에게 B보다 조금 더 잘 읽을 수있는 버전 C를 제공합니다 :

실제적인 차이가 없습니다
<?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 *은 내부에있는 것처럼 괄호로 묶어야합니다. HTML과 – qJake

-1

없음. PHP 스크립트에 HTML을 포함시키지 않으면 궁극적으로 PHP 파서의 크기와 변형을 줄여줍니다. 왜냐하면 PHP 파서는 궁극적으로 작아 질 것이기 때문입니다.

버전 B가 더 좋지만 약간 있습니다. 대부분의 경우, 차이점을 알 수 없습니다.

-1

- 스타일의 문제가.

HTML에서 따옴표 등을 이스케이프 할 필요가 없기 때문에 두 번째 방법을 선호 할 수 있습니다.

+0

(downvoters, 설명하십시오) 실용적으로 생각하면 유지하기 어렵 기 때문에 –

+0

이 버전 A가 권할 수있다. – afuzzyllama

0
  • A는 B 네이티브 PHP 템플릿 엔진 템플릿 (예 : 젠드보기)처럼 보이는

정말 단지 스타일의 PHP와 HTML을 결합하는 표준 해킹 멀리 스타일처럼 보인다 - 그러나, 나는 템플릿 엔진과 함께 B를 선호한다.

0

B가 읽기가 어렵다고 생각할 수도 있지만 실제로 유지하는 것이 더 쉽습니다. 당신이 가지고있는 것을 느슨하게 템플릿으로 기술 할 수 있습니다.

PHP에서 버전 A와 같은 HTML을 삽입하기 시작하면 나중에 페이지 모양을 변경해야 할 경우 어떻게됩니까? 또는 페이지의 레이아웃을 변경하려고 할 때 어떤 일이 발생합니까?

CSS, javascipt/jquery와 같은 기술을 html과 결합하여 사이트 헤더, 바닥 글 및 주요 콘텐츠 블록을보다 효율적으로 관리 할 수 ​​있습니다.

템플릿을 사용하면 장기적으로 쉽게 생활 할 수 있다고 생각합니다. 당신이 떠나기 전에 당신이 직접 포장해야한다고 생각하면 many template engines to choose from입니다.

관련 문제