HTML을 PHP로 에코하려면 어떻게 해야 하나요?

페이지를 생성하기 위해 HTML을 조건부로 출력하고 싶은데, PHP 4+에서 HTML의 여러 줄 스니펫을 에코하는 가장 쉬운 방법은 무엇입니까? Smarty와 같은 템플릿 프레임워크를 사용해야 합니까?

echo '<html>', "n"; // I'm sure there's a better way! echo '<head>', "n"; echo '</head>', "n"; echo '<body>', "n"; echo '</body>', "n"; echo '</html>', "n"; 


질문에 대한 답변



HTML을 PHP로 에코하는 방법에는 몇 가지가 있습니다.

1. PHP 태그 사이

<?php if(condition){ ?>
<!-- HTML here --> <?php } ?> 

2. 메아리 속에서

if(condition){
echo "HTML here"; } 

HTML에서 큰따옴표를 사용하려면 다음과 같이 작은따옴표를 사용해야 합니다.

echo '<input type="text">'; 

또는 다음과 같이 탈출할 수 있습니다.

echo "<input type="text">"; 

3. 유전체

4. Nowdocs (PHP 5.3.0 기준)

템플릿 엔진은 주로 HTML을 포함하는 문서에서 PHP를 사용하는 데 사용됩니다. 사실, PHP의 원래 목적은 템플릿 언어였습니다.그렇기 때문에 PHP에서는 짧은 태그를 사용하여 변수를 에코할 수 있습니다(예:<?=$someVariable?>).

구문을 더욱 간결하게 만드는 다른 템플릿엔진(Smarty, Twig 등)이 있습니다.{{someVariable}}).

템플릿 엔진을 사용하는 주된 이점은 설계(프레젠테이션 로직)를 코딩(비즈니스 로직)과 분리하는 것입니다.또한 코드를 깔끔하게 하고 장기적으로 유지보수가 용이해집니다.

또 질문이 있으시면 언제든지 댓글로 남겨주세요.

자세한 내용은 PHP 문서를 참조하십시오.


메모: PHP 쇼트태그<?그리고.?>를 유효하게 했을 경우에만 사용할 수 있기 때문에 권장되지 않습니다.short_open_tagphp.ini 컨피규레이션파일 디렉티브 또는 PHP가 다음과 같이 설정되어 있는 경우--enable-short-tags선택.5.4 이후의 설정에 관계없이 사용할 수 있습니다.




다음과 같이 시도합니다(edoc 구문).

$variable = <<<XYZ <html> <body>
</body> </html> XYZ; echo $variable; 



제어 구조에 대체 구문 구문을 사용하여 PHP에서 분리할 수 있습니다.

<?php if ($something): ?>
<some /> <tags /> <etc />
<?=$shortButControversialWayOfPrintingAVariable ?>
<?php /* A comment not visible in the HTML, but it is a bit of a pain to write */ ?> <?php else: ?>
<!-- else --> <?php endif; ?> 



기본적으로 HTML은 PHP 태그 이외의 어디에나 넣을 수 있습니다.또한 로직과 프레젠테이션을 분리하기 위해 데이터를 표시하기 전에 필요한 모든 데이터 처리를 수행하는 것이 매우 유용합니다.

데이터 표시 자체는 동일한 PHP 파일의 하단에 있을 수도 있고 주로 HTML로 구성된 별도의 PHP 파일을 포함할 수도 있습니다.

콤팩트한 스타일을 선호합니다.

<?php
/* do your processing here */ ?>
<html> <head>
<title><?=$title?></title> </head> <body>
<?php foreach ( $something as $item ) : ?>
<p><?=$item?></p>
<?php endforeach; ?> </body> </html> 

주의: 를 사용해야 할 수 있습니다.<?php echo $var; ?>대신<?=$var?>PHP 설정에 따라 달라집니다.




저는 이 스타일을 좋아합니다.


<html>
<head> <%
if (X)
{ %>
<title>Definitely X</title> <%
}
else
{ %>
<title>Totally not X</title> <%
} %>
</head>
</html> 

ASP 스타일의 태그를 사용합니다.PHP와 HTML의 조합은 제 눈에는 매우 읽기 쉬워 보입니다.요령이란 이 모든 것을 얻는데 있다<%그리고.%>딱 맞는 표식입니다.