웹 애플리케이션의 지속적인 개발과 함께 점점 더 많은 오픈 소스 프레임워크가 우리의 시야에 등장했으며, 그중 CakePHP는 많은 관심을 끌고 있는 PHP 프레임워크 중 하나입니다. CakePHP에서 템플릿 상속은 페이지를 더 효과적으로 구성하고 반복적인 코드 작성을 줄이는 데 도움이 되는 매우 일반적으로 사용되는 기술입니다. 그렇다면 CakePHP는 템플릿 상속을 어떻게 수행합니까?
1. 템플릿 상속의 개념
템플릿 상속은 마스터 뷰나 템플릿을 하위 뷰나 템플릿에 적용하는 기술입니다. 이 기술을 통해 페이지의 공통 콘텐츠를 추출하여 마스터 뷰로 구성하고 하위 뷰에서 마스터 뷰를 참조할 수 있습니다. 이를 통해 페이지를 더 쉽게 관리하고 유지할 수 있으며 중복된 코드 작성도 줄어듭니다.
2. CakePHP에서 템플릿 상속 구현
CakePHP는 PHP 기반의 강력하고 유연한 템플릿 엔진을 제공하며 템플릿 상속을 지원합니다. CakePHP에서 템플릿 상속을 구현하는 방법을 설명하겠습니다.
먼저 마스터 뷰를 만들어야 합니다. 마스터 뷰에는 일반적으로 웹 사이트의 헤드 탐색, 하단 저작권 및 기타 정보와 같이 각 페이지에 필요한 공개 콘텐츠가 포함됩니다.
app/View/Layouts/ 디렉터리에 새 default.ctp 파일을 만듭니다.
<html> <head> <title><?php echo $this->fetch('title'); ?></title> </head> <body> <header> <h1>CakePHP模板继承示例</h1> <nav> <ul> <li><a href="#">首页</a></li> <li><a href="#">关于我们</a></li> <li><a href="#">联系我们</a></li> </ul> </nav> </header> <div id="content"> <?php echo $this->fetch('content'); ?> </div> <footer> <p>©2019 CakePHP模板继承示例</p> </footer> </body> </html>
app/View/ 디렉터리에서 새 데모.ctp 파일을 하위 뷰로 만듭니다. Demo.ctp 파일에서는 마스터 뷰와 다른 페이지 콘텐츠만 작성하면 됩니다.
<?php $this->extend('default'); ?> <?php $this->assign('title', '这是子视图页面标题'); ?> <h2>这是子视图页面内容</h2> <p>这是一个CakePHP模板继承的示例</p>
하위 뷰 상단에서 $this->extend('default')
를 사용하여 마스터 뷰를 참조하므로 하위 뷰가 마스터 뷰의 레이아웃과 구조를 상속합니다. 동시에 $this->asset('title', 'This is the subview page title')
을 사용하여 페이지 제목을 전달할 수 있습니다. $this->extend('default')
来引用母版视图,这样就让子视图继承了母版视图的布局和结构。同时,我们可以使用 $this->assign('title', '这是子视图页面标题')
来传递页面标题。
在子视图的内容部分,我们可以写入与母版视图不同的页面内容,这些内容会替换母版视图中相应的占位符。比如在上面的demo.ctp文件中,我们用 c1a436a314ed609750bd7c7d319db4da
和 e388a4556c0f65e1904146cc1a846bee
标签写入了子视图页面的内容。
现在,我们已经创建了母版视图和子视图,可以使用CakePHP来渲染页面了。在控制器中,我们可以使用 $this->render('demo')
或者 $this->render('/Controller/demo')
<h2></h2>
및 <p></p>
태그를 사용하여 하위 보기 페이지의 내용을 작성합니다. <p></p>
이제 마스터 뷰와 하위 뷰를 만들었으므로 CakePHP를 사용하여 페이지를 렌더링할 수 있습니다. 컨트롤러에서는 $this->render('demo')
또는 $this->render('/Controller/demo')
를 사용하여 데모를 렌더링할 수 있습니다. .ctp 하위 보기.
class DemoController extends AppController { public function index() { $this->render('demo'); } }🎜인덱스 기능에 액세스하면 CakePHP는 자동으로 deco.ctp 하위 뷰를 렌더링하고 이를 마스터 뷰 default.ctp에 포함시킵니다. 🎜🎜3. 요약🎜🎜이 기사에서는 마스터 뷰 생성, 하위 뷰 생성 및 페이지 렌더링 등을 포함하여 CakePHP의 템플릿 상속에 대한 몇 가지 기본 지식을 배웠습니다. 템플릿 상속은 페이지를 더 잘 구성하고 반복적인 코드 작성을 줄이는 데 도움이 되는 매우 일반적으로 사용되는 기술입니다. CakePHP로 개발할 때 템플릿 상속은 페이지를 보다 편리하게 관리하고 유지하는 데 도움이 되는 매우 유용한 기술이기도 합니다. 🎜
위 내용은 CakePHP는 템플릿 상속을 어떻게 수행합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!