Laravel Blade模板
Laravel新手一般都会先接触到Blade,它是创建和管理网站HTML布局的最简单方法,可以帮助生成简洁的设计和主题,帮助复用相同的代码(例如页眉和页脚),从而节省时间并保持代码的条理性。下文主要分享创建主布局、页面拆分、扩展布局等使用Blade构建Laravel应用的前端。
一、基本Laravel Blade模板结构示例
可以将Blade模板想象成用乐高积木搭建模型。首先,你需要一个底板(你的布局文件),它将所有内容整合在一起,然后在上面添加不同的组件(你的视图)。
基础页面 (layout.blade.php):
<!DOCTYPE html> <html> <head> <title>@yield('page_title', '默认标题')</title> </head> <body> <header>@yield('header_content')</header> <main> @yield('main_content') </main> <footer>@yield('footer_content', '默认页脚文本')</footer> </body> </html>
关键部分:
- @yield() – 这些是等待填充的占位符;
- 默认内容(可选)– 如果未提供某个部分,则显示此内容;
- 通用元素 – 例如所有页面使用的 CSS/JS 文件。
二、前提条件
在开始之前,请确保已安装 PHP 8.2+ 和 Composer:
1、安装Laravel项目
可以通过运行以下命令来创建一个新的Laravel项目:
composer create-project laravel/laravel laravel-blade-layouts

然后进入项目目录:
cd laravel-blade-layouts
相关参考:《Laravel安装教程》
2、启动本地开发服务器
项目设置完成后,可以启动Laravel内置的开发服务器:
php artisan serve

在浏览器中访问http://127.0.0.1:8000。应该会看到Laravel欢迎页面。

三、设置路由
让我们定义要创建的页面:首页和联系页面。默认情况下,Laravel可能有一个如下所示的默认路由:
Route::get('/', function () { return view('welcome'); }); 让我们来改变一下。 打开routes/web.php文件并将其内容替换为以下内容: <?php 使用Illuminate\Support\Facades\Route; Route::get('/', function () { 返回 视图('pages.home'); }); Route::get('/contact', function () { return view('pages.contact'); });


这些路由指示Laravel在用户访问首页 (/) 时加载 resources/views/pages/home.blade.php,在用户访问 /contact 时加载 resources/views/pages/contact.blade.php。
但在这些路由生效之前,我们需要实际创建这些视图以及它们将使用的布局。
四、创建视图目录结构
在 resources/views/ 目录下,我们将创建三个文件夹:
- layouts :用于存放我们的主模板
- includes :用于存放可重用部分,例如页眉、页脚和元标签
- pages:用于存放各个页面,例如首页和联系页面
进入 resources/views/ 目录并创建以下三个文件夹:


现在开始将所需的文件填充到这些文件夹中。
五、创建Blade包含文件
Blade包含文件有助于将布局拆分成可重用的组件,它可以保持代码简洁并遵循DRY(Don't Repeat Yourself,不要重复自己)原则。。
接下来创建一个头部区域、一个页眉栏和一个页脚。
1、创建 <head> 部分
这将包含元数据、标题和 CSS 链接。在 resources/views/includes 目录下创建一个名为 head.blade.php 的文件,并将以下内容粘贴到该文件中:
<title>Laravel Blade Layout</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> body { font-family: sans-serif; margin: 0; padding: 0; } header, footer { background-color: #f4f4f4; padding: 1em; text-align: center; } main { padding: 2em; } </style>
这是每个网页“<head>”部分的标准代码。它执行一些重要操作,例如:
- 设置页面的字符编码(确保字母正确显示)
- 使页面在手机和电脑上都能正常显示
- 添加一个显示在浏览器标签页中的标题
- (可选)添加Bootstrap CSS样式
2、创建页眉(导航栏)
现在,在同一个 includes/ 文件夹中,创建 header.blade.php 文件,并将以下代码粘贴到该文件中:
<h2>My Site Header</h2> <nav> <a href="/">Home</a> | <a href="/contact">Contact</a> </nav>
现在有了一个简单的Bootstrap导航栏,可以链接到我们的首页和联系我们页面。
3、创建页脚
仍然在includes/目录下,创建footer.blade.php文件,并粘贴以下代码:
<p>© 2025 Laravel Blade Example</p>

六、创建主布局文件
现在将这些包含的文件合并到一个主布局文件中。在 layouts/ 文件夹中,创建一个名为 default.blade.php 的文件:
<!DOCTYPE html> <html> <head> @include('includes.head') </head> <body> <header> @include('includes.header') </header> <main> @yield('content') </main> <footer> @include('includes.footer') </footer> </body> </html>
解释:@include() 用于引入局部文件,例如 header、footer 和 head 部分;@yield('content') 是一个占位符。每个页面都会使用 @section('content') 将其独特的内容插入到此处。
七、创建首页和联系页面
在 pages/ 文件夹中,创建 home.blade.php 文件:
@extends('layouts.default') @section('content') <h1>欢迎来到首页</h1> <p>此内容仅限首页使用。</p> @endsection
现在创建 contact.blade.php 文件:
@extends('layouts.default') @section('content') <h1>这是联系页面</h1> @stop
注意这两个页面都使用了 @extends('layouts.default') 吗?Blade 就是通过它来识别我们创建的布局。然后,@section('content') 中的内容会被填充到布局中的 @yield('content') 占位符中。
八、在浏览器中查看页面
现在返回浏览器并刷新首页。确保开发服务器正在运行:
php artisan serve
然后:
访问 http://127.0.0.1:8000/,应该会看到带有页眉和页脚的自定义首页。

访问 http://127.0.0.1:8000/contact,将看到联系页面,同样采用相同的布局。

九、Laravel Blade布局高级技巧
假设使用姓名来个性化首页。
打开 routes/web.php 文件,并按如下方式更新首页路由:
// routes/web.php Route::get('/', function () { return view('pages.home', ['name' => 'Abdul Rehman']); });

现在更新 home.blade.php 以使用该数据:
@extends('layouts.default') @section('content') <h1>欢迎,{{ $name }}!</h1> <p>此内容仅限首页使用。</p> @endsection
刷新浏览器页面,会看到:
欢迎,Abdul Rehman!

广告合作
QQ群号:4114653
温馨提示:
- 本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。
- 本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。