일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- nodejs
- rabbitmq
- php
- 블레이드 템플릿
- mariadb
- javascript
- React
- CentOS
- 기초 수학
- Switch
- Backbone.js
- For
- Node
- Babel
- NCP
- Machine Learning
- fastapi
- python
- nginx
- deep learning
- Go
- Redux
- docker
- linux
- AWS
- laravel
- SQL
- webpack
- phpredis
- Redis
- Today
- Total
개발일기
블레이드 템플릿 1탄 - @section, @yield 본문
지난번 포스팅은 라라벨 프레임워크 관련하여 포스팅을 다루었다. 요번 포스팅에는 라라벨 프레임워크에서 제공해주는 템플릿 엔진인 블레이드 템플릿에 대해 포스팅하고자 한다. 리액트, 뷰 등의 화면쪽을 담당하는 다른 언어를 사용해도 되지만, 자체적으로 제공되는 템플릿엔진을 사용하는 이유는 화면 코드안에서 php코드를 활용할 수 있다는 장점이 존재하기 때문이다.
0. 파일 생성법
기존 php파일은 index.php와 같이 파일명을 지정한 후 생성하게 된다. 하지만 블레이드 템플릿은 index.blade.php라는 형식으로 지정을 하게 된다. 기존 php파일에서 blade라는 문자가 추가된다.
1. @section과 @yield
블레이드 템플릿은 레이아웃을 나눌 수 있다. 레이아웃을 나눠 여러개의 컴포넌트로 구성하게 되면 다른 뷰 파일에서 해당 컴포넌트를 재사용할 수 있다. 이러한 레이아웃 기능은 코드의 재사용성을 높혀주는 장점을 가지고 있다.
템플릿 관련 명령어를 작성할 때는 앞에 @를 붙여넣는다.
먼저, 레이아웃을 나눌 때, @section('head')라고 추가하였다. 이것의 의미는 head라는 section을 정의한다는 것을 뜻한다. @endsection으로 section구간을 정해준다.
@yield('head')는 사용자가 지정한 section을 상속하는 것을 뜻한다. head라는 section을 불러와 보여주는 것을 뜻한다. 즉 저 코드를 실행하게 되면 @yield('head')로 인해 정의된 내용의 안녕하세요~ 또 만나요 등의 레이아웃 화면이 나타나게 된다.
하나의 파일에 section을 정의해 두고 yield를 통해 두고두고 레이아웃을 가져올 수 있다. 추후에 뷰를 보완할 때도 수정하기도 용이하다.
2. @extends
@extends명령어는 다른 블레이드 파일의 레이아웃을 상속받을지를 명시하는 역할을 한다.
layout/content.blade.php라는 블레이드 파일이 존재한다고 가정을 해보자. content.blade.php파일의 레이아웃을 가져와 사용할 경우에는 @extends('layout.content') 라고 가져올 레이아웃 구역에 작성하면된다. 특이하게도 보통 디렉터리를 구분할 때는 /를 사용하는데 블레이드 템플릿에서는 마침표로 구분을 한다.
3. blade.php 뷰 호출법
블레이드 뷰를 지난번 포스팅에서 말했던대로 Route를 통해 화면을 호출할 수 있다.
/home이라는 url로 이동한 경우 index.blade.php를 보여준다는 것을 뜻한다. return view는 블레이드 뷰를 보여주겠다는 것을 뜻하고 view() 안에는 블레이드 뷰의 이름을 작성해주면 된다. 만약 hello.blade.php를 보여주고자 하는 경우에는
return view('hello');로 작성하면 된다.
이번 포스팅에는 간단하게 레이아웃을 나누는 section, yield와 화면을 호출하는 법에 대해 다뤄보았다. 다음번 포스팅에는 블레이드 뷰 안에서 php코드를 활용하여 for문, switch문과 변수를 호출하는 법에 대해 포스팅해볼 것이다. 변수호출과 반복문은 블레이드 뷰에서 가장 많이 쓰이기에 중요하게 알아볼 것이다.
'프로그래밍 언어 > PHP - Laravel' 카테고리의 다른 글
CentOS에 PHP8 설치 (Epel, Remi) (0) | 2021.11.30 |
---|---|
Laravel Framework - ORM / Query Builder (0) | 2021.07.19 |
블레이드 템플릿 3탄 - @if, @switch 조건문 (0) | 2021.07.12 |
블레이드 템플릿 2탄 - @for, @while, @foreach 반복문 (2) | 2021.07.05 |
Laravel Framework의 구조 (2) | 2021.06.22 |