에서 Laravel 레이아웃은 웹 응용 프로그램의 사용자 인터페이스를 구축하는 데 중요한 역할을 합니다. header
레이아웃은, footer
및 와 같은 공통 섹션을 포함하여 웹 페이지의 전체 구조를 나타냅니다 sidebar
. Laravel 이 문서에서는 유연하고 유지 관리 가능한 인터페이스를 만들기 위해 레이아웃을 빌드하는 방법을 살펴봅니다 .
먼저 웹사이트의 기본 레이아웃을 만들어 보겠습니다. app.blade.php
디렉터리 에 이름이 지정된 파일을 생성하여 시작합니다. 이 파일은 전체 웹사이트의 기본 레이아웃으로 사용됩니다. resources/views/layouts
다음은 파일의 예제 콘텐츠입니다 app.blade.php
.
<!DOCTYPE html>
<html>
<head>
<title>@yield('title')</title>
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
</head>
<body>
<header>
<h1>Header</h1>
</header>
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about">About</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
<main>
@yield('content')
</main>
<footer>
<p>Footer</p>
</footer>
<script src="{{ asset('js/app.js') }}"></script>
</body>
</html>
이 레이아웃에서는 @yield
지시문을 사용하여 레이아웃 내에서 동적 섹션을 정의합니다. 예를 들어, @yield('title')
자식이 페이지 제목을 재정의하고 설정할 수 있습니다. 마찬가지로 자식이 페이지의 주요 콘텐츠를 삽입할 수 있습니다. views @yield('content')
views
레이아웃이 생성되면 이 레이아웃을 활용하는 자식을 생성할 수 있습니다. 예를 들어 비슷한 레이아웃으로 페이지를 만들려면 디렉터리 에 이름이 지정된 파일을 만듭니다. 이 파일은 레이아웃을 확장 하고 페이지의 특정 콘텐츠를 정의합니다. views about
about.blade.php
resources/views
app.blade.php
about
@extends('layouts.app')
@section('title', 'About')
@section('content')
<h2>About Page</h2>
<p>This is the about us page.</p>
@endsection
위의 예에서는 @extends
지시문을 사용하여 레이아웃을 상속합니다 app.blade.php
. 다음으로 지시문을 사용하여 페이지의 및 섹션 @section
에 대한 특정 콘텐츠를 정의합니다. title
content
마지막으로 URL을 각각의 에 연결하기 위한 경로를 정의해야 합니다. views
예를 들어 routes/web.php
파일에서 다음 경로를 추가할 수 있습니다.
Route::get('/', function() {
return view('welcome');
});
Route::get('/about', function() {
return view('about');
});
이 예에서 "/" URL은 에 링크되고 welcome.blade.php
view URL /about
은 에 링크됩니다 about.blade.php
view.
결론적으로 에서 레이아웃을 빌드하면 Laravel 웹 응용 프로그램에 대한 공유 인터페이스를 만들고, header
및 footer
와 같은 공통 섹션을 관리할 수 있습니다 sidebar
. 레이아웃과 자식을 사용하면 에서 유연하고 유지 관리 가능한 인터페이스를 구축할 수 있습니다. views Laravel