Laravel 은 blade 템 플 릿 엔진 을 통 해 보 기 를 렌 더 링 합 니 다.
1.템 플 릿 정의
Blade 정의 템 플 릿 페이지 는 html 페이지 를 만 드 는 것 과 마찬가지 로 적당 한 위치 에서@section 또는@yield 를 통 해 자 리 를 차지 할 뿐 다른 페이지 가 템 플 릿 페이지 를 참조 할 때 내용 을 차지 하 는 위치 에 채 우 면 됩 니 다.
<html>
<head>
<title>@yield('title')</title>
</head>
<body>
<header class="header">
@section('header')
<br>
@show
</header>
<div class="middle">
<aside class="aside">
@yield('aside')
</aside>
<div class="content">
@section('content')
@show
</div>
</div>
<footer class="footer">
@yield('footer')
</footer>
</body>
</html>
section 과 yield 는 모두 자리 표시 자 입 니 다.그 차 이 는 템 플 릿 을 참조 할 때 yield 를 사용 할 때 지정 한 자리 표시 자 를 완전히 바 꾸 고,section 을 사용 할 때@parent 를 통 해@section()~@show 간 의 내용 을 보존 할 수 있 습 니 다.Blade 에 외부 js,css 파일 을 도입 하려 면 상대 적 으로 Public 디 렉 터 리 의 절대적 인 경 로 를 사용 할 수 있 습 니 다.예 를 들 어 자체 bootstrap 을 도입 할 수 있 습 니 다.Public/css/app.css 에 있 습 니 다.
2.인용 템 플 릿
템 플 릿 을 참조 하려 면 먼저@extends()를 통 해 사용 할 템 플 릿 을 도입 해 야 합 니 다.템 플 릿 위 치 는 views 디 렉 터 리 에 비해.그리고@section()~@stop(템 플 릿 을 정의 할 때의@section~@show 와 구별)을 통 해 교체 할 내용 을 템 플 릿 의 지정 한 위치 에 채 웁 니 다.예 를 들 어 header 에 대응 하 는 section 을 채 우려 면:
@extends('template.layout') {{-- views/template/layout.blade.php--}}
@section('title')
@stop
@section('header') {{-- header --}}
@parent {{-- --}}
@stop
구성 요소 도입:@component 를 통 해 구성 요소 템 플 릿 을 도입 합 니 다.예 를 들 어 일반적인 오류 알림 구성 요소 alert 를 정의 합 니 다.
<div style="color: #ff5b5d;">
<h5>{{$title}}</h5>
{{$slot}}
</div>
페이지 에서 이 구성 요 소 를 사용 합 니 다:
@component('template.alert') {{-- views/template/alert.blade.php--}}
@slot('title') {{-- $title --}}
alert
@endslot
alert
@endcomponent
@component~@endcomponent 간 의 내용 은 구성 요소{{$slot}를 자동 으로 대체 합 니 다.대체 위 치 를 지정 하려 면@slot()~@endslot 를 통 해하위 보기 도입:한 페이지 에서 Blade 하위 보 기 를 도입 하려 면@include()를 통 해
@include('template.child')
Blade 에서 출력 변 수 는{{$var}을 통 해 XSS 공격 을 피하 기 위해 PHP 의 htmlenities 함수 처 리 를 거 쳤 습 니 다.예 를 들 어 controller 에 view 를 도입 할 때 변수 인 자 를 입력 합 니 다.
public static function showBlade(){
return view('Login.login',['var'=>'test']);
}
Blade 에서 이 변 수 를 사용 합 니 다.변 수 는:{{isset($var)?$var:'기본 값'}}
때때로 우 리 는 블 레이 드 가 텍스트 를 해석 하지 않 기 를 바 랍 니 다.예 를 들 어 vue 에서 도{{}패키지 변 수 를 사용 합 니 다.블 레이 드 가 컴 파일 하 는 것 을 원 하지 않 습 니 다.이 때@:
원본 출력:@{$var}}
3.절차 제어
blade 는 페이지 의 렌 더 링 을 제어 하기 위해 프로 세 스 제어 문 구 를 제공 하여 페이지 의 렌 더 링 을 더욱 빠 르 고 이 제어 문 구 는 모두 PHP 와 매우 유사 합 니 다.
if 판단:
@if ($val >80)
@elseif ($val>60)
@else
@endif
순환:
@for ($i = 0; $i < 10; $i++)
The current value is {{ $i }}
@endfor
@foreach ($users as $user)
<p>This is user {{ $user->id }}</p>
@endforeach
switch 분기:
@switch($i)
@case(1)
First case...
@break
@case(2)
Second case...
@break
@default
Default case...
@endswitch
인증:@auth 와@guest 명령 은 현재 사용자 의 로그 인 여 부 를 신속하게 판단 하 는 데 사용 할 수 있 습 니 다.
@auth
// ...
@endauth
@guest
// ...
@endguest
이상 의 이 Laravel 은 Blade 템 플 릿 엔진 을 통 해 보 여 주 는 보 기 를 실현 하 는 것 이 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 시기 바 랍 니 다.여러분 들 도 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
단순 Laravel+Vue.js에서 VueUI를 사용하여 로그인 및 등록Laravel에는 웹 팩과 같은 Laravel-Mix가 있는데, 이를 이용해서 Laravel에 Vue.js를 실현할 수 있다. 이번에는 몇 가지 명령을 통해 간단하게 VueUI로 로그인하여 로그인을 할 수 있습니다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.