#10 Blade subviews

이전 포스트에서는 @yield@extends 그리고 @section을 통한 레이아웃 구성법에 대해 알아보았다.

이번에는 @include를 통한 layout 구성에 대해 살펴보자.

include는 웹개발을 하는사람이라면 많이 접한 단어일 것이다. yield가 extends를 통해서 master layout을 불러오고 그것을 채워넣는 것이라면, include는 실제로 그 파일에서 다른 레이아웃을 불러오는 것이다.

사실 나도 아직 개념이 확실하지가 않아서 일단 예제로 보여주겠다.

우선 이것이 layouts/master.blade.php 파일이다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="../../favicon.ico">

    <title>@yield('title')</title>

    <link href="css/bootstrap.min.css" rel="stylesheet">
    <!-- Custom styles for this template -->
    <link href="css/jumbotron-narrow.css" rel="stylesheet">

</head>

<body>

<div class="container">

    @include('layouts.menu')
    @yield('body')
    @include('layouts.footer')

</div> <!-- /container -->

</body>
</html>

이것은 각각 layouts/menu.blade.phplayouts/footer.blade.php이다.

//layouts/menu.blade.php
<div class="header clearfix">
    <nav>
        <ul class="nav nav-pills pull-right">
            <li role="presentation" class="active"><a href="#">Home</a></li>
            <li role="presentation"><a href="#">About</a></li>
            <li role="presentation"><a href="#">Contact</a></li>
        </ul>
    </nav>
    <h3 class="text-muted">Project name</h3>
</div>

//layouts/footer.blade.php
<footer class="footer">
    <p>&copy; 2016 Company, Inc.</p>
</footer>

각각의 다른 Blade layout파일이지만 master blade에서 @include라는 것을 사용하여 하나의 파일로 만들 수 있다.

results matching ""

    No results matching ""