ThinkPhp의 템플릿 상속은 강력한 뷰 엔진을 활용하여 기본 템플릿 (부모)을 정의하고 개별 페이지 템플릿 (children)에서 확장하여 재사용 가능한 레이아웃을 만들 수 있습니다. 이는 코드 재사용 성을 촉진하고 웹 사이트 유지 관리를 단순화합니다. 핵심 메커니즘은 자식 템플릿 파일 내에서 extends
키워드를 사용하는 것입니다.
부모 템플릿으로 base.html
파일이 있다고 가정 해 봅시다.
<code class="html"> <title>{block name="title"}Default Title{/block}</title> <link rel="stylesheet" href="/css/style.css"> <header> <h1>My Website</h1> <nav> <ul> <li><a href="/">Home</a></li> <li><a href="/about">About</a></li> <li><a href="/contact">Contact</a></li> </ul> </nav> </header> <main> {block name="content"}Default Content{/block} </main> <footer> <p>© 2023 My Website</p> </footer> </code>
{block name="title"}
및 {block name="content"}
섹션에 주목하십시오. 이들은 자식 템플릿이 무시할 수있는 자리 표시 자 블록입니다.
이제 자식 템플릿을 만들어 봅시다. index.html
:
<code class="html">{extends file="base"} {block name="title"}Home Page{/block} {block name="content"} <h2>Welcome to the Home Page!</h2> <p>This is the home page content.</p> {/block}</code>
이 index.html
에서 {extends file="base"}
base.html
에서 상속 받음을 지정합니다. {block name="title"}
및 {block name="content"}
블록은 상위 템플릿의 해당 블록을 무시합니다. ThinkPhp는이를 병합하여 base.html
의 헤더, 탐색 및 바닥 글로 index.html
렌더링하지만 사용자 정의 된 제목 및 컨텐츠와 함께합니다. extends file="base"
에 지정된 경로는 응용 프로그램의보기 디렉토리와 관련이 있습니다. 프로젝트 구조에 따라이 경로를 조정해야합니다.
전적으로. ThinkPhp의 템플릿 상속은 여러 가지 방법으로 개발 효율성을 크게 향상시킵니다.
ThinkPhp의 템플릿 상속을 사용하여 일관된 설계를 유지하려면 다음과 같은 모범 사례를 따르십시오.
ThinkPhp의 템플릿 상속은 Child Template의 내용을 우선시하여 충돌을 처리합니다. 자식 템플릿이 상위 템플릿에 존재하는 블록을 정의하면 자식 템플릿의 버전이 부모의 버전을 무시합니다. 자식 템플릿이 부모에 정의 된 블록을 생략하면 부모의 버전이 사용됩니다. 이를 통해 상위 템플릿의 구조 및 내용을 선택적으로 재정의하고 사용자 정의 할 수 있습니다. 의도하지 않은 충돌이있는 경우, 중첩 된 섹션을 식별하고 해결하기 위해 부모와 자식 템플릿을주의 깊게 검토하십시오. 블록 이름이 고유하고 설명 적이며 우발적 인 덮어 쓰기를 피하십시오. 블록을 올바르게 구조화하고 설명 이름을 사용하는 것은 충돌을 방지하고 해결하는 데 중요합니다.
위 내용은 ThinkPhp의 템플릿 상속을 사용하여 재사용 가능한 레이아웃을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!