Laravel 5.1 프레임 블 레이 드 템 플 릿 엔진 사용법 실례 분석
5038 단어 Laravel5.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 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.