Laravel 5 기본 사항(4) - 블레이드 소개

WBOY
풀어 주다: 2016-08-08 09:26:55
원래의
1005명이 탐색했습니다.

파일 헤더, 연결된 CSS 또는 js 등 여러 페이지에 동일한 콘텐츠를 포함할 수 있습니다. 이 기능을 수행하기 위해 레이아웃 파일을 사용할 수 있습니다.

예를 들어 새 레이아웃 파일을 만들어 보겠습니다. views/layout.blade.php

<code><!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.4/css/bootstrap.min.css">
</head>
<body>
    <div class="container">
        @yield('content')
    </div>
</body>
</html></code>
로그인 후 복사

이해할 수 없는 구조를 만들고 부트스트랩을 도입했습니다. @yield는 향후 페이지 내용이 여기에 채워질 예정입니다. about.blade.php

위 코드는 레이아웃 파일
<code>@extends('layout')

@section('content')
    
<h1>About {{ $first }} {{ $last }}</h1>

@stop</code>
로그인 후 복사
을 사용한 다음

섹션에 콘텐츠를 추가한다는 의미입니다. layout.blade.php content

에 추가:

routes.php

<code>Route::get('about', 'PagesController@about');
Route::get('contact', 'PagesController@contact');</code>
로그인 후 복사
에 추가:

PagesController.php

새로운 모습
<code>    public function contact() {
        return view('pages.contact');
    }</code>
로그인 후 복사

pages/contact.blade.php

확인해보세요!
<code>@extends('layout')

@section('content')
    <h1>Contact Me!</h1>
@stop</code>
로그인 후 복사

을 추가하는 것과 같이 레이아웃 파일에 여러 @yield를 추가할 수 있습니다. layout.blade.php @yield('footer')

예를 들어
<code><!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.4/css/bootstrap.min.css">
</head>
<body>
    <div class="container">
        @yield('content')
    </div>

    @yield('footer')
</body>
</html></code>
로그인 후 복사
에 스크립트가 있으면 이 문단에 넣을 수 있습니다.

contact.blade.php

연락처 접근시 대화상자가 나오나 정보는 여전히 정상적으로 표시됩니다
<code>@extends('layout')

@section('content')
    <h1>Contact Me!</h1>
@stop

@section('footer')
    <script>
        alert('Contact from scritp')
    </script>
@stop</code>
로그인 후 복사

    을 이용해 판단하세요
  • @if
<code>@extends('layout')

@section('content')
    @if ($first = 'Zhang')
        <h1>Hello, Zhang</h1>
    @else
        <h1>Hello, nobody</h1>
    @endif
@stop</code>
로그인 후 복사
과 동등한

, @unless 등으로 간주할 수도 있습니다. if ! @foreach

<code>    public function about()
    {
        $people = [
            'zhang san',
            'li si',
            'wang wu'
        ];
        return view('pages.about', compact('people'));
    }</code>
로그인 후 복사
다음과 같이 데이터가 데이터베이스에서 가져오고 컬렉션이 비어 있는 경우도 있습니다.
<code>@extends('layout')

@section('content')
    <h1>Person:</h1>
    <ul>
        @foreach($people as $person)
            <li>{{ $person }}</li>
        @endforeach
    </ul>
@stop</code>
로그인 후 복사

이 상황을 처리하려면
<code>$people = [];</code>
로그인 후 복사
핸들

을 추가하세요. @if

그게 더 좋습니다.
<code>@extends('layout')

@section('content')
    @if (count($people))
        <h1>Person:</h1>
        <ul>
            @foreach($people as $person)
                <li>{{ $person }}</li>
            @endforeach
        </ul>
    @endif

    <h2>Other info</h2>
@stop</code>
로그인 후 복사

이상은 Laravel 5(4)의 기본 사항을 소개합니다. - 블레이드 소개와 다양한 측면을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿