2010-03-22 4 views
1

변수의 모든 색인에 저장 한 다음 에코하는 것이 좋은 방법입니까? 예 :"echo"함수 또는 "echo"모든 페이지?

<?php 
    $txt='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" /> 
    <link rel="stylesheet" type="text/css" href="css/style.css"/> 
    <title>Untitled Document</title> 
    </head> 

    <body> 
    <div class="wrapper"> 
     <div class="header"> 
     <h2>'.heaf_func().'</h2> 
     </div> 
     <div class="content">content</div> 
     <div class="footer">footer</div> 
    </div> 
    </body> 
    </html>'; 
    echo $txt; 

?> 

답변

2

일반적으로 아니오. 출력 버퍼링이 필요하면 the output buffering API을 사용하십시오. 후 처리를 수행하기 위해 출력을 검색해야하는 경우에도 ob_get_contents을 사용하여 출력을 수행 할 수 있습니다. 대부분의 페이지에서는 그리 큰 문제가 아니지만 대형 페이지 나 과중한 서버로드에서는 출력 버퍼링 지원을 사용해야합니다.

일반적으로 당신이 생각하고있는 것과 같은 방법을 볼 때 "이게 나에게 무슨 이득이됩니까?"라고 물어보십시오. 위의 예는 분명히 사소한 것이지만 결과를 후 처리 할 계획이 아니라면 무엇을 얻게됩니까?

편집 : 나는 모두 PHP -에 - XML과 XML--PHP에서 사용했습니다

는 다양한 프로젝트에 접근한다. 필자의 경험에 비추어 볼 때, PHP-in-XML (또는 HTML이지만 항상 XML 또는 XHTML을 생성하려고 시도하는 프로젝트)에서는 결국 유지 보수가 어려워지는 고약한 스파게티 코드로 바뀌는 반면, XML- PHP 접근 방식은 결국 당신이 유지하기를 원하지 않는 문자열 조작 코드를 엉망으로 만듭니다.

일반적으로 언어에 관계없이 모든 웹 응용 프로그램에 대해 MVC (MVVM, MVP 등 - 최대) 프레임 워크를 사용하는 것이 좋습니다. 올바르게 적용되면 추가 프레임 워크의 복잡성은 모듈성과 유지 보수 용이성 및 확장 성의 향상으로 보완됩니다. 당신이 필요하거나 프레임 워크를 (하지만, 다시, 난 강력 추천) 대상으로 욕망을 느끼지 않는 경우에, 나는 일반적으로 이러한 규칙을 따르

  1. 가능한 경우는, 간단한 포함에 PHP -에 - XML을 제한 값. 예 : <h1><?php echo $title; ?></h1> 스파게티 코드에 논리를 포함시키지 않도록하십시오. (일반적으로 반복하지만, 일반적으로 반복하지 않습니다.)
  2. 가능한 경우 원시 값을 출력에 쓰지 않고 XML API를 사용하여 XML 문서를 만듭니다. XML은 쉽게 변형 할 수 있다는 이점이 있습니다. 제 경험상 최소한 초기 프로덕션 애플리케이션에서는 초기 투자 가치가 있습니다.
  3. 클라이언트에 렌더링을 적용 할 스타일 시트의 위치를 ​​나타내는 xml-stylesheet 처리 명령을 사용하여 데이터를 나타내는 XML 문서를 보내고 클라이언트가 자체 렌더링을 수행하도록합니다. 그렇게하지 않으면, 데이터 - 프레젠테이션 변환 논리를 스타일 시트 (CSS가 아닌 XSLT)에 넣고 변환 서버 측을 수행하십시오. 나는 데이터와 프리젠 테이션 사이의 분리를 정말로 즐긴다.
+0

가장 좋은 방법은 무엇입니까? html로 PHP 또는 html로 삽입? (Aistina의 답변처럼) –

+0

@ jasmine 죄송합니다, 그 질문의 요지 이해가되지 않았다. 내 목표를 반영하도록 내 답변을 업데이트하겠습니다. – Dathan

8

저는 개인적으로 이와 같이 변경했습니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" /> 
    <link rel="stylesheet" type="text/css" href="css/style.css"/> 
    <title>Untitled Document</title> 
    </head> 

    <body> 
    <div class="wrapper"> 
     <div class="header"> 
     <h2><?php echo heaf_func(); ?></h2> 
     </div> 
     <div class="content">content</div> 
     <div class="footer">footer</div> 
    </div> 
    </body> 
    </html> 
+1

+1. 이 (템플릿) 스타일이 훨씬 뛰어납니다. 유지하기 쉽고,보기가 더 예뻐요. –

+0

페이지의 원시 xhtml ?? 모든 프로젝트에 대해 –

1

질문은 당신이 이것을하고 싶은 이유입니다. 그냥 변수에 넣은 다음 그것을 반향하는 것은 가치가 없지만 문자열 (문자열 교체 등)에서 작업해야하는 경우 유용합니다.

0

당신이 그와 같은 대규모 멀티 라인 텍스트에 변수 할당을 일을 할 거라면, 텍스트 덩어리를 만들어 따옴표를 탈출 당신에게 강요하지 않는 장점을 가지고 HEREDOC 구문을 사용하는 것이 좋습니다 개조가 필요없이 다른 것들을 읽고 쉽게 자르고 붙일 수 있습니다.

PHP-in-HTML 또는 PHP-in-HTML을 선택해야하는 경우, 어느 것이 더 읽기 쉽도록 선택해야합니다. 500 줄의 HTML이 있고 적은 수의 PHP 만 삽입하면 PHP-in-HTML로, 그 반대로 이동하면됩니다. 가까운 균등 균형을 위해, 그것은 당신의 취향이 무엇이든간에 올 것입니다.

관련 문제