Laravel 5.1 프레임 블 레이 드 템 플 릿 엔진 사용법 실례 분석

본 논문 의 사례 는 Laravel 5.1 프레임 블 레이 드 템 플 릿 엔진 의 용법 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
블 레이 드 를 왜 사용 하 세 요?얘 는 뭐 하 는 거 예요?
Blade 템 플 릿 엔진 은 우리 로 하여 금 HTML 페이지 를 쓰 게 하 는 곳 입 니 다.이것 은 우리 에 게 많은 역 사 를 제공 하고 코드 의 중복 율 을 줄 이 며 개발 효율 을 높 일 수 있 기 때 문 입 니 다.우리 가 blade 를 쓰 는 경 로 는 resources/view 입 니 다.파일 이름 접 두 사 는 blade.php 입 니 다.
상속
계승 은 상당히 시원 하 다.대량의 코드 가 중복 되 지 않도록 메 인 템 플 릿 에서 모든 코드 를 계승 할 수 있다.이렇게 말 하 는 것 은 비교적 단편 적 이 니,구체 적 으로 눈 코드 를 보 자.
1.1 템 플 릿 계승 확장 코드 세 션
우선 admin/layout.blade.php 를 만 듭 니 다:

<!DOCTYPE html>
<html>
<head>
  <title>Learn Laravel-- @yield('title')</title>
</head>
<body>
  @section('navibar')
    The master navigation bar
  @show
  <div class="container">
    @yield('content')
  </div>
</body>
</html>

그리고 admin/home.blade.php 를 만들어 서 레이아웃 을 계승 합 니 다:

@extends('admin.layout')
@section('title')
  Home
@endsection
@section('navibar')
  @parent
  <p>             </p>
@endsection
@section('content')
  <p>Content body</p>
@endsection

등록 경로 구현 컨트롤 러 방법 및 전시

Route::group(['prefix' => 'admin', 'namespace' => 'Admin'], function (){
  Route::resource('/', 'HomeController');
});
  public function index()
  {
    return view('admin.home');
  }

요약:자,이제 layot 코드 를 보고 HTML 간단 한 템 플 릿 을 초기 에 정 의 했 습 니 다.확장 해 야 할 부분 에@yield 키 워드 를 추가 하여 채 울 수 있 는 코드 세 션 영역 을 대표 합 니 다.@section(navi)은 세 션 을 설명 한 다음 에@show 를 통 해 보 여 줍 니 다.
그리고 홈 파일 을 만 들 었 습 니 다.layot 가@extends()를 통 해 계승 한 후에@section 으로 layot 의@yield 를 채 울 수 있 습 니 다.하나의 yield 는 하나의 section 에 대응 하고 layot 의@section(navi)에 대해 서도 홈 에서 보충 할 수 있 습 니 다.@parent 키 워드 를 사 용 했 기 때 문 입 니 다.부모 템 플 릿 을 덮어 쓰 지 않 고 부모 템 플 릿 의 코드 세 션 에 마지막 으로 코드 를 추가 하 는 것 을 의미 합 니 다.물론@parent 키 워드 를 제거 하면 덮어 씁 니 다.
만약 이렇게 말 해도 네가 여전히 이해 하지 못 한다 면,컴 파 일 러 를 켜 서 한 번 두 드 려 보면 결 과 를 알 수 있 을 것 이다.
1.2 코드 도입
이것 도 Blade 가 상당히 강 한 곳 입 니 다.HTML 을 쓴 후에 그 중 일부 내용 이 다른 페이지 에서 재 활용 율 이 높 은 것 을 발 견 했 습 니 다.다른 Blade 에 추출 하여 넣 을 수 있 습 니 다.그리고 이 코드 를 사용 할 때마다@include 를 사용 하여 도입 하면 됩 니 다.
우선 some.blade.php 를 만 듭 니 다.

<p>                   HTML</p>

그리고 홈 에서 그것 을 인용 하 세 요.

@extends('admin.layout')
@section('title')
  Home
@endsection
@section('navibar')
  @parent
  <p>             </p>
@endsection
@section('content')
  @include('admin.some')
  <p>Content body</p>
@endsection

2 데이터 전시
이 단락 은 데 이 터 를 보기 에 전송 한 후에 페이지 에 보 여 주 는 방법 을 말 합 니 다.
2.1 데이터 전송
데이터 가 들 어 오 는 데 는 두 가지 방법 이 있 습 니 다.먼저 첫 번 째 배열 방식 을 말 합 니 다.

  public function index()
  {
    $name = 'K';
    return view('admin.home', compact('name'));
    //       
//    return view('admin.home', ['name' => $name]);
  }

두 번 째 방법 은 with 방법 입 니 다.

  public function index()
  {
    $name = 'K';
    return view('admin.home')->with('name', $name);
  }

2.2 전시 데이터
첫 번 째 전시 방법{{},괄호 로 묶 으 면 blade 템 플 릿 에 들 어 오 는 변 수 를 보 여 줍 니 다.{{}에 서 는 PHP 코드 를 사용 할 수 있 습 니 다.

<p>  :{{ $name }}</p>

두 번 째 전시 방법{!!  !!},이것 은 htmlentities 함수 로 처리 되 지 않 기 때문에 당신 이 전달 한 데이터 가 html 데이터 라면 이런 방법 을 사용 할 수 있 습 니 다.

return view('admin.home')->with('name', '<h1>K</h1>');
<p>  :{!! $name !!}</p>

3.제어 문
Blade 템 플 릿 은 코드 를 최대한 간결 하 게 하기 위해 서 자체 적 으로 많은 제어 문 구 를 가지 고 있 습 니 다.이것 은 우리 가 배 운 PHP 와 유사 합 니 다.바로 if 아 foreach 라 는 것 입 니 다.
3.1 if 제어-만약
잔말 말고 실례 를 들 어 봐.

  @if(isset($name))
    <p>{{ $name }}</p>
  @else
    <p>None</p>
  @endif

3.2 unless 제어-제외

  @unless(!isset($name))
    <p>{{ $name }}</p>
  @endunless

3.3 for 제어-순환

  @for ($i = 0; $i < 10; $i++)
    <p>{{ $i }}</p>
  @endfor

3.4 foreach 제어-반복

  {{--$names = ['k', 'l', 'i'];--}}
  @foreach($names as $name)
    <p>{{ $name }}</p>
  @endforeach

Laravel 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 고 는 Laravel 프레임 워 크 를 바탕 으로 하 는 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기