Blade 템플릿 및 뷰
Blade 지시문, 레이아웃, 구성 요소로 동적인 HTML을 렌더링합니다.
Blade 템플릿 및 뷰은(는) CoddyKit의 무료 PHP Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 PHP Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. PHP Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
Blade란 무엇인가요?
Blade는 Laravel의 템플릿 엔진입니다. 파일 확장자는 .blade.php이며 디렉티브, 반복문, 레이아웃 상속을 지원합니다. Blade는 일반 PHP로 컴파일된 후 캐시됩니다.
변수 출력
이중 중괄호를 사용하여 변수를 출력합니다. XSS를 방지하기 위해 값이 자동으로 이스케이프됩니다.
{{-- resources/views/greeting.blade.php --}}
<h1>Hello, {{ $name }}</h1>
<p>You have {{ $messageCount }} messages.</p>이스케이프되지 않은 출력
가공되지 않은(이스케이프되지 않은) HTML을 출력하려면 {!! !!}을 사용합니다. 신뢰할 수 있는 콘텐츠에만 사용하십시오.
{!! $htmlContent !!}조건문
Blade는 @if, @elseif, @else, @endif를 제공합니다.
@if($user->isAdmin())
<a href="/admin">Admin Panel</a>
@elseif($user->isEditor())
<a href="/editor">Editor</a>
@else
<a href="/dashboard">Dashboard</a>
@endif@isset 및 @empty
일반적인 null 또는 빈 값 확인을 간편하게 작성하는 방법입니다.
@isset($username)
<p>Welcome, {{ $username }}</p>
@endisset
@empty($items)
<p>No items found.</p>
@endempty반복문
Blade는 @foreach, @for, @while, @forelse를 지원합니다(@empty 대체 동작과 함께 사용).
@forelse($posts as $post)
<article>
<h2>{{ $post->title }}</h2>
</article>
@empty
<p>No posts yet.</p>
@endforelse$loop 변수
@foreach 내부에서 $loop는 메타데이터를 제공합니다: $loop->index, $loop->first, $loop->last, $loop->count.
@extends 및 @section을 사용한 레이아웃
상위 레이아웃을 정의하고 하위 뷰에서 이를 확장합니다.
{{-- layouts/app.blade.php --}}
<html>
<body>
@yield("content")
</body>
</html>
{{-- pages/home.blade.php --}}
@extends("layouts.app")
@section("content")
<h1>Home Page</h1>
@endsection@include
하위 뷰의 부분 템플릿을 포함합니다.
@include("partials.nav")
@include("partials.alert", ["type" => "success", "msg" => "Saved!"])Blade 컴포넌트
재사용 가능한 컴포넌트는 resources/views/components/에 있으며 <x-component-name> 구문으로 사용합니다.
{{-- components/alert.blade.php --}}
<div class="alert alert-{{ $type }}">
{{ $slot }}
</div>
{{-- Usage: --}}
<x-alert type="success">Profile updated!</x-alert>뷰에 데이터 전달
컨트롤러에서 배열 또는 compact()와 함께 view()를 사용하여 데이터를 전달합니다.
<?php
return view("users.index", [
"users" => User::all(),
"title" => "All Users",
]);
// Or:
return view("users.index", compact("users", "title"));요약
Blade는 PHP로 컴파일됩니다. 이스케이프된 출력에는 {{ }}를, 레이아웃에는 @extends/@section을, 반복문에는 @foreach/@forelse를, 재사용 가능한 UI에는 <x-component>를 사용합니다.
빠른 확인
XSS를 방지하기 위해 출력을 안전하게 이스케이프하는 Blade 구문은 무엇인가요?
자주 묻는 질문
“Blade 템플릿 및 뷰” 강의는 무료인가요?
네 — “Blade 템플릿 및 뷰” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 PHP Academy 강의 전체를 잠금 해제할 수 있습니다. PHP Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“Blade 템플릿 및 뷰”에서 뭘 배우나요?
Blade 지시문, 레이아웃, 구성 요소로 동적인 HTML을 렌더링합니다. 브라우저에서 직접 실행하는 실습 코드로 PHP Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
PHP Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 PHP Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“Blade 템플릿 및 뷰” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 PHP Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 PHP Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- Laravel 프로젝트 구조
- Laravel에서 경로 정의하기
- 컨트롤러 및 동작
- Blade 템플릿 및 뷰