PHP는 하나의 백엔드 언어로 브라우저에 출력하기 위해 불가피하게 HTML 코드를 출력합니다. 아래에 제가 사용한 세 가지 PHP/HTML 믹싱 방법을 소개합니다.
1.싱글/더블따옴표 포위법
이것은 최초급의 방법인데, 용법은 아래와 같다
1 <?php
2 echo '
3 <!DOCTYPE html>
4 <html>
5 <head>
6 <title> </title>
7 </head>
8 <body>
9 <span>테스트 페이지</span>
10 </body>
11 </html>
12 ';
13 ?>
이렇게 하는 것이 가장 간단한 방법인데, 직접 따옴표로 포장하면 된다
큰따옴표와 작은따옴표의 구별에 대해서는, 전자의 해석 따옴표 내의 변수에 관한 것이다.후자는 따옴표 내의 변수를 해석하지 못하므로, 아래의 예를 참조한다
1 <?php
2 $Content='Hello!';
3 echo "$Content";
4 echo '<br>';
5 echo '$Content';
6 ?>
출력
1 Hello!
2 $Content
따라서 큰따옴표로 둘러싸인 문자열의 변수명은 변수값으로 자동으로 해석되지만, 작은따옴표로 둘러싸인 문자열의 변수명은 그대로 표시됩니다.
이렇게 쓴 글씨의 결점은 두 가지이다.
1.출력내용에 싱글/더블 따옴표가 포함되어 있으면 PHP는 따옴표가 프로그램에 속하는지 출력에 속하는지 판단할 수 없기 때문에 처리하기 어렵습니다.용서해 주십시오, 그래서 오보를 내겠습니다.
2.SublimeText와 같은 일부 현대 텍스트 편집기는 따옴표로 둘러싸인 출력에 대해 말할 수 없다.쉐이딩하기, 포맷이 나오면문제는 발견하기 매우 어려울 것이다.SublimeText3의 한 컷 캡처로 위는 정상 착색, 아래는 따옴표로 둘러싸인 착색
2.HEREDOC/NOWDOC 사용
HEREDOC와 NOWDOC는 PHP 5.3에서 지원하는 새로운 기능으로 프로그램에서 사용자 정의 기능을 사용할 수 있습니다텍스트에 대한 태그는 H를 둘러싸인칭은 HEREDOC와 NOWDOC의 관계는 이중따옴표와 단일따옴표와 같이 전자는 블록 내의 변수를 해석하고 후자는 블록 내의 변화를 해석하지 않는다헤아리다
HEREDOC과 NOWDOC의 용법을 소개하겠습니다
1 <?php
2 $Content='Hello!';
3
4 //아래에 HEREDOC라고 써 있는데, 라벨은 어떤 문자열이든 커스터마이징 할 수 있지만, 처음의 라벨은 끝의 라벨과 동일해야 합니다
5 echo <<<LABEL
6 $Content
7 LABEL;
8 //마무리 방법: 다른 줄을 지어 LABEL을 붙인다.끝의 앞과 뒤에 문자를 삽입하지 마십시오. 공백도 사용할 수 없습니다
10 echo '<br>';//편하게 갈 수 있도록
11
12 //NOWDOC와 HEREDOC의 필기 방식 차이는 NOWDOC의 식별자를 홑따옴표로 둘러싸야 한다는 데 있다
13 echo <<<'LABEL'
14 $Content
15 LABEL;
16 //기타와 다름없다
17
18
19 ?>
https://wiki.php.net/rfc/heredoc-with-double-quotes의 wiki:PHP.net를 참고하면 된다.
HEREDOC/NOWDOC로 잘 써내려가는 따옴표 문제를 해결했지만 여전히 문법적 색칠이 실패하는 문제를 해결하지 못했습니다.
3.HTML에 PHP블럭 내장(추천)
이것은 매우 적절한 방법으로 WordPress 템플릿과 같은 경우에 널리 사용됩니다. 쓰기에도 편리합니다. 출력해야 할 곳에 직접 코드를 적어두면 됩니다. 다음과 같습니다.이렇게
1 <?php
2
3 //먼저 여기에 관련 호출 코드를 적어주세요
4 function OutputTitle(){
5 echo 'TestPage';
6 }
7 function OutputContent(){
8 echo 'Hello!';
9 }
10
11 //그다음에 이제 관련 함수를 불러주시면 됩니다
12 ?>
13
14 <!DOCTYPE html>
15 <html>
16 <head>
17 <title><?php OutputTitle(); ?></title>
18 </head>
19 <body>
20 <span><?php OutputContent(); ?></span>
21 </body>
22 </html>
코드 복사
나는 이 세 가지 방법 중 가장 좋다고 생각하지만, 이렇게 하는 단점은 이런 코드 블록이 많아지면 프로그램 읽기에 심각한 지장을 줄 수 있다는 것이다.
4.프론트 템플릿 엔진 사용
전/후면 엔지니어는 웹 개발 전반에 걸쳐 프론트 엔드의 중요성이 증대됨에 따라 점차 두 직종으로 분리되고 있으므로 전/후면 엔지니어를 확보하기 위해서라고 할 수 있습니다.서로 협력할 수 있어, 전단이 개발될 수 있다.백엔드에서 개발된 것과 도킹이 더욱 완벽하여 점차적으로 일련의 프론트엔드 템플릿 엔진, 예를 들어 Smarty가 탄생하게 되었습니다.Smarty로 작성된 구현코드는 가독성이 매우 높아 전/후단 분리가 더욱 효율적이고 편리합니다.관심 있는 학생은 검색하여 알아두면 된다
'개발 꿀팁 > PHP' 카테고리의 다른 글
PHP가 HTTP 요청을 보내는 6가지 방법 (0) | 2022.07.13 |
---|---|
php+mysql 구현 페이지: 이전 페이지, 다음 페이지 (0) | 2022.07.13 |
php 502 bad gateway 해결 방법 (0) | 2022.07.13 |
PHP 오류 표시 설정 및 보고 수준 설정 (0) | 2022.07.13 |
PHP 밑바닥을 탐구하다 (0) | 2022.07.13 |