본문 바로가기
IT/PHP

Laravel - @include

by Sungjun_ 2021. 4. 14.

laravel.kr/docs/8.x/blade#%ED%95%98%EC%9C%84%20%EB%B7%B0%20%ED%8F%AC%ED%95%A8%ED%95%98%EA%B8%B0

 

라라벨 8.x - 블레이드 템플릿

라라벨 한글 메뉴얼 8.x - 블레이드 템플릿

laravel.kr

 

라라벨은 @include 파일을 통해 뷰 파일 안에, 다른 뷰 파일을 포함할 수 있습니다.

 

저번 글에 이어서 mbti 게시판을 예를 들어 설명하겠습니다.

mbti 종류는 총 16개가 있고

각 성격 유형별 폴더가 있으면 각각 index, create, show, edit  총 4개의 뷰가 존재해야합니다.

 

@include를 이용하면 index, create, show, edit에서 중복되는 부분을 따로 뷰 파일로 만들어서

불러오기 때문에 수정에 용이합니다.

 

 

현재 view 폴더 안에 mbtis가 있고, 중복되는 부분들은 recycles 폴더를 만들어 따로 view 파일을 만들었습니다.

 

<div class="w-11/12 pt-12 mx-auto">
    <div class="text-right pt-8">
        <a href="{{route('mbtis.'.$mbtiName.'.create')}}">
            <i class="xi-pen pr-1"></i><button class="">글쓰기</button>
        </a>
    </div>
    <div class="mt-16 min-h-30">
        <table class="w-full table-fixed">
            <tr>
                <td class="w-7/12"></td>
                <td class="w-1/12"></td>
                <td class="w-1/12"></td>
            </tr>
            @foreach($mbtis as $mbti)
                <tr class="border-b">
                    <td class="text-lg pl-2 truncate"><a href="{{route('mbtis.'.$mbtiName.'.show', $mbti->id)}}">{{$mbti->title}}</a>
                    </td>
                    <td class="text-center">{{$mbti->user_name}}</td>
                    <td class="">{{$mbti->created_at->format('Y-m-d')}}</td>
                </tr>
            @endforeach
        </table>
    </div>
    <div class="mt-16">
        {{$mbtis->links()}}
    </div>
</div>

 

위 코드는 index.blade.php 부분에서 중복되는 부분을 mbti-index.blade.php로 빼둔 부분입니다.

 

index.blade.php에서는 아래 처럼 @include를 사용하면 됩니다.

@extends('layouts.app')

@section('container')
    @include('recycles.mbti-index', ['mbtiName'=>$mbtiName, 'mbtis'=>$mbtis])
@stop

 

첫 번째 파라미터로 다른 view 파일을 불러오고, 두 번째 파라미터로 템플릿에서 활용할 데이터를 보내줄 수 있습니다.

'IT > PHP' 카테고리의 다른 글

Laravel - faker 한글  (0) 2021.05.03
Laravel - 일대다 관계  (0) 2021.04.23
Laravel - 컨트롤러 줄이기  (2) 2021.04.14
Laravel - 이미지 리사이즈  (1) 2021.03.09
Laravel - Scout(검색)  (0) 2021.03.07

댓글