>백엔드 개발 >PHP 튜토리얼 >CakePHP 확장 뷰

CakePHP 확장 뷰

WBOY
WBOY원래의
2024-09-10 17:25:28940검색

웹페이지를 만들면서 페이지의 특정 부분을 다른 페이지에서 반복하고 싶을 때가 많습니다. CakePHP에는 다른 보기에서 보기를 확장할 수 있는 기능이 있으며 이를 위해 코드를 다시 반복할 필요가 없습니다.

extend() 메소드는 View 파일에서 뷰를 확장하는 데 사용됩니다. 이 메소드는 하나의 인수, 즉 경로가 있는 보기 파일의 이름을 사용합니다. 보기 파일 이름을 제공하는 동안 확장자 .ctp를 사용하지 마십시오.

다음 프로그램과 같이 config/routes.php 파일을 변경합니다.

config/routes.php

<?php
use Cake\Http\Middleware\CsrfProtectionMiddleware;
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;
$routes->setRouteClass(DashedRoute::class);
$routes->scope('/', function (RouteBuilder $builder) {
   $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
      'httpOnly' => true,
   ]));
   $builder->applyMiddleware('csrf');
   $builder->connect('extend',['controller'=>'Extends','action'=>'index']);
   $builder->fallbacks();
});

src/Controller/ExtendsController.php에서 ExtendsController.php 파일을 생성합니다. 컨트롤러 파일에 다음 코드를 복사합니다.

src/Controller/ExtendsController.php

<?php
   namespace App\Controller;
   use App\Controller\AppController;
   class ExtendsController extends AppController{
      public function index(){
      }
   }
?>

src/TemplateExtends 디렉토리를 만들고 해당 폴더 아래에 header.php라는 View 파일을 만듭니다. 해당 파일에 다음 코드를 복사하세요.

src/템플릿/확장/header.php

<div align="center">
   <h1>Common Header</h1>
</div>
<?= $this->fetch('content') ?>

Extends 디렉토리 아래에 index.php라는 또 다른 View를 만듭니다. 해당 파일에 다음 코드를 복사합니다. 여기서는 위의 보기 header.php.

를 확장합니다.

src/템플릿/확장/index.php

<?php $this->extend('header'); ?>
This is an example of extending view.

다음 URL http://localhost/cakephp4/extend를 방문하여 위의 예를 실행하세요

출력

실행하면 다음과 같은 결과가 출력됩니다.

Common Header

위 내용은 CakePHP 확장 뷰의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:CakePHP 보기다음 기사:CakePHP 보기