>  기사  >  백엔드 개발  >  CakePHP 뷰 요소

CakePHP 뷰 요소

王林
王林원래의
2024-09-10 17:22:29550검색

웹페이지의 특정 부분이 여러 웹페이지에서 반복되지만 위치는 다릅니다. CakePHP는 이러한 반복되는 부분을 재사용하는 데 도움이 됩니다. 이러한 재사용 가능한 부분을 요소 - 도움말 상자, 추가 메뉴 등이라고 합니다. 요소는 기본적으로 미니뷰입니다. 요소에 변수를 전달할 수도 있습니다.

Cake\View\View::element(string $elementPath, array $data, array $options =[]

위 함수에는 다음과 같은 세 가지 인수가 있습니다. −

  • 첫 번째 인수는 /src/Template/element/ 폴더에 있는 템플릿 파일의 이름입니다.

  • 두 번째 인수는 렌더링된 뷰에 사용할 수 있는 데이터 배열입니다.

  • 세 번째 인수는 옵션 배열입니다. 예를 들어 캐시.

3가지 인수 중 첫 번째 인수는 필수이고 나머지는 선택사항입니다.

src/Template/element 디렉터리에 helloworld.php라는 요소 파일을 만듭니다.

해당 파일에 다음 코드를 복사합니다.

src/템플릿/요소/helloworld.php
<p>Hello World</p>

src/TemplateElems 폴더를 만들고 해당 디렉토리 아래에 index.php라는 View

파일을 만듭니다. 해당 파일에 다음 코드를 복사하세요.

src/템플릿/Elems/index.php
Element Example: <?php echo $this->element('helloworld'); ?>

다음 프로그램과 같이 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('/element-example',['controller'=>'Elems','action'=>'index']);
   $builder->fallbacks();
});

src/Controller/ElemsController.php에서 ElemsController.php 파일을 생성합니다.

컨트롤러 파일에 다음 코드를 복사합니다.

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

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

출력

실행 시 위 URL은 다음과 같은 출력을 제공합니다.Element Example

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

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