> 백엔드 개발 > PHP 튜토리얼 > WordPress 템플릿의 PHP 템플릿 기술 원리에 대한 심층 분석

WordPress 템플릿의 PHP 템플릿 기술 원리에 대한 심층 분석

WBOY
풀어 주다: 2016-07-29 08:37:23
원래의
1054명이 탐색했습니다.

1. 템플릿의 유래
템플릿 기술이 있기 전에는 PHP를 사용하여 프로그램을 개발할 때 일반적으로 PHP 코드와 HTML을 혼합하여 사용했습니다. 예를 들어, 뉴스 목록은 아마도 다음 구조를 가진 newslist.php 페이지일 것입니다:
//데이터베이스에서 표시할 뉴스 기록 읽기
?> html>
……..


?> -- >

이게 무슨 문제인가요? 첫째, 분업과 협력에 도움이 되지 않는다. 일반적으로 프로그래머는 코드를 작성하고 아티스트는 페이지를 디자인합니다. 이 접근 방식에서 프로그래머는 작업을 시작하기 전에 아티스트가 인터페이스를 디자인할 때까지 기다려야 합니다. 즉, 프로그래머와 아티스트의 작업은 동기화될 수 없습니다. 둘째, 유지보수에 도움이 되지 않으며 유지보수성이 좋지 않습니다. 예를 들어, 프로그램 수정 후 인터페이스를 수정하려면 아티스트가 수정해야 하며 프로그래머가 다시 추가하면 됩니다. 마지막으로, 프로그램 구조는 혼란스럽고 읽기 쉽습니다. HTML과 PHP가 혼합되어 있어서 프로그램이 너무 많으면 매우 지저분해집니다.
템플릿의 원리를 이해하라 - PHP 태그를 이용한 템플릿 기술
이러한 문제를 해결하기 위해 정확하게 등장한 템플릿 기술은 PHP 태그를 이용한 템플릿 기술이다.
먼저 템플릿의 목적이 무엇인지 이해해야 합니다. 템플릿은 주로 몇 가지 작업을 수행합니까? 첫째, 예술과 프로그래밍의 분리이다. 보다 정확하게는 데이터 획득과 데이터 표시를 분리한 것입니다. 둘째, 노동분업이다. 좋은 분업과 협력.
예를 들어 뉴스 목록에 대한 템플릿을 사용하면 뉴스 목록의 작업을 두 부분으로 나눌 수 있습니다.
1. getnews.php는 데이터베이스에서 $news 배열로 데이터를 읽는 역할을 담당합니다. , $news가 표시 방법인지 여부는 신경 쓰지 않습니다.
2. Shownews.php는 $news 배열을 HTML 페이지로 출력하는 역할을 담당합니다. 그리고 $news가 어디서 왔는지 신경 쓸 필요가 없습니다.
이렇게 하여 아트와 프로그램의 분리를 달성하고 초기 목적을 달성했습니다. 그런데 이 두 페이지를 어떻게 결합하고 listnews.php의 기능을 실현할 수 있을까요?
"artist(표시 데이터)"와 "programmer(데이터 가져오기)"를 연결하려면 또 다른 페이지인 listnews.php가 필요합니다. 이 페이지는 매우 간단하다고 해야 할까요?
getnews.php의 코드는 다음과 같다고 가정합니다.
$news = "News List" //사실 데이터베이스에서 읽어야 합니다.
?>
Shownesw.php의 코드는 다음과 같습니다.

뉴스 표시<br>< ;/ head> <br><body> <br></body> <br></html> listnews.php 매우 간단합니다 <br><? <BR>Include('getnews.php');//데이터 가져오기 <br>Include('shownesw.php');//데이터 표시 <BR>?> <br>요약<br>PHP 태그를 이용한 템플릿 시스템은 아티스트와 프로그램을 효과적으로 분리하는 동시에 프로그래머와 아티스트 간의 업무 분담과 협력을 촉진할 수 있습니다. 예를 들어 위의 예에서는 shownews.php가 유지됩니다. 아티스트는 getnews.php를 프로그래머가 관리합니다. 그리고 listnews.php는 시스템 디자이너가 관리할 수 있습니다. 물론 일부 합의된 문서를 추가해야 합니다. <br>사실 이 간단한 예는 가장 기본적인 MVC 모델도 보여줍니다. 그 중 모델인 M은 데이터 읽기를 담당하는데, 이는 우리의 getnews.php와 동일합니다. V는 shownews.php에 해당하는 데이터를 표시하는 데 사용되는 보기입니다. 마지막으로 listnews.php에 해당하는 컨트롤러 C가 있습니다. <br>해석 템플릿 기술 알아보기 - PHPLIB <br>Phplib의 템플릿 시스템은 작고 유연하며 편리하고 간단한 기능으로 많은 PHPer의 호감을 얻었으며, 템플릿 기술의 선두 위치 그것과 fasttemplate과 같은 템플릿 엔진은 어느 정도 해석적 템플릿 기술입니다. <br>phplib의 사용법을 자세히 설명하기에 앞서, php 태그를 이용한 템플릿 시스템이 지속적으로 개선되어야 하는 이유를 먼저 설명드리겠습니다. 사실 이는 주로 아티스트에게 PHP 태그가 불편하기 때문입니다. 그들은 {title}과 같은 시각적 태그를 직접 사용하는 것을 선호합니다. <br>우선 시각적 태그를 사용하도록 이전 예를 수정했습니다.첫 번째 단계는 shownews.php를 shownews.tpl로 변경하고 내부의 php 태그를 시각적 태그로 바꾸는 것입니다. <br><html> <br><head> ></p> <title>뉴스 표시<br><script type="text/javascript" src="/js/jquery.3.5.2.min.m.js"></script> </head><div style="position: fixed;right: 0;top:100px;width: 125px; z-index:2000;"><div ><a target="_blank" rel="nofollow" href="https://www.520xingyun.com/from/188bet.php" ><img width="120px" height="550px" src="https://www.520xingyun.com/images/188_120.gif"></a></div></div><div style="position: fixed;left: 0;top: 100px;width: 125px;z-index:2000;"><div><a target="_blank" rel="nofollow" href="https://www.520xingyun.com/from/188bet.php"><img width="120px" height="550px" src="https://www.520xingyun.com/images/188_120.gif"></a></div></div> <BR><body> <BR></html> , listnews.php의 효과를 얻는 방법은 무엇입니까? 실제로는 매우 간단합니다. {title}을 직접 교체하면 됩니다. 그렇죠? 따라서 수정된 listnews.php 코드는 다음과 같습니다. <BR><? <BR>Include('getnews.php');//Get data <BR>echo str_replace('{title}',$news,file_get_contents ('shownews.tpl')) <BR>?> <br>사실 이게 phplib의 원리에요! 예를 들어, phplib를 사용하여 위 함수를 구현하려면 listnews.php만 수정하면 됩니다. 수정된 코드는 다음과 같습니다. <br>< <BR>Include('getnews.php');/ /데이터 가져오기 <BR>include ('template.class.php'); <br>$t=new Template() <BR>$t->set_file('shownesw,'shownews.tpl'); >$t->set_var ('news',$news) <br>$t->parse('out', 'shownesw') <br>$t->p('out'); <br>?> <br>또한, phplib 영역에 대해서는 해당 매뉴얼을 확인하실 수 있습니다. <br>samrty를 정리했으니 다음 시간에 계속 이야기해 볼까요? <br> 위 내용은 워드프레스 템플릿을 소개하고, 워드프레스 템플릿의 내용을 포함해 PHP 템플릿의 기술적 원리에 대한 심도 있는 분석을 담고 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다. <br> <br> <br>
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿