웹페이지의 특정 부분이 여러 웹페이지에서 반복되지만 위치는 다릅니다. CakePHP는 이러한 반복되는 부분을 재사용하는 데 도움이 됩니다. 이러한 재사용 가능한 부분을 요소 - 도움말 상자, 추가 메뉴 등이라고 합니다. 요소는 기본적으로 미니뷰입니다. 요소에 변수를 전달할 수도 있습니다.
Cake\View\View::element(string $elementPath, array $data, array $options =[]
위 함수에는 다음과 같은 세 가지 인수가 있습니다. −
첫 번째 인수는 /src/Template/element/ 폴더에 있는 템플릿 파일의 이름입니다.
두 번째 인수는 렌더링된 뷰에 사용할 수 있는 데이터 배열입니다.
세 번째 인수는 옵션 배열입니다. 예를 들어 캐시.
3가지 인수 중 첫 번째 인수는 필수이고 나머지는 선택사항입니다.
src/Template/element 디렉터리에 helloworld.php라는 요소 파일을 만듭니다.
해당 파일에 다음 코드를 복사합니다.<p>Hello World</p>
src/Template에 Elems 폴더를 만들고 해당 디렉토리 아래에 index.php라는 View
파일을 만듭니다. 해당 파일에 다음 코드를 복사하세요.Element Example: <?php echo $this->element('helloworld'); ?>
다음 프로그램과 같이 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 파일을 생성합니다.
컨트롤러 파일에 다음 코드를 복사합니다.<?php namespace App\Controller; use App\Controller\AppController; class ElemsController extends AppController{ public function index(){ } } ?>
다음 URL http://localhost/cakephp4/element-example을 방문하여 위의 예를 실행하세요
실행 시 위 URL은 다음과 같은 출력을 제공합니다.
위 내용은 CakePHP 뷰 요소의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!