Blade模板引擎
- Blade模板引擎简介及模板继承的使用
- 基础语法及include的使用
- 流程控制
- 模板中的URL
1.1 Blade模板引擎简介
- Blade是laravel提供的一个既简单又强大的模板引擎
- 和其他流行的PHP模板引擎不一样,Blade并不限制你在视图(view)中使用原生php代码
- 所有Blade视图页面都将被编译成原生PHP代码并缓存起来,除非你的模板文件被修改了,否则不会重新编译
1.2 Blade模板继承的使用
- section 用来定义一个视图片段。可以有内容,可以被子模板扩展
- yield 用来展示某个指定section的内容,相当于一个占位符。yield不可扩展
- extends
- parent
新建layouts.blade.php模板,代码如下:
模板所在路径laravel\resources\views\layouts.blade.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>轻松学会Laravel-@yield('title')</title>
<style>
.header {width:1000px; height:150px; margin:0 auto; background: #f5f5f5; border:1px solid #ddd; }
.main {width: 1000px; height: 300px; margin: 0 auto; margin-top: 15px; clear: both; }
.footer {width:1000px; height:150px; margin:0 auto; margin-top: 15px; background: #f5f5f5; border:1px solid #ddd; }
.main .sidebar {float:left; width:20%; height:inherit; background: #f5f5f5; border:1px solid #ddd; }
.main .content {float:right; width:75%; height:inherit; background: #f5f5f5; border:1px solid #ddd; }
</style>
</head>
<body>
<div class="header">
@section('header')
头部
@show
</div>
<div class="main">
<div class="sidebar">
@section('sidebar')
侧边栏
@show
</div>
<div class="content">
@yield('content','主要内容区域')
</div>
</div>
<div class="footer">
@section('footer')
底部
@show
</div>
</body>
</html>
在StudentController.php控制器中,新建section1方法渲染模板
public function section1()
{
return view('student.section1');
}
新建section1.blade.php模板文件,代码如下
模板文件所在位置laravel\resources\views\student\section1.blade.php
<!-- 继承layouts模板 -->
@extends('layouts')
<!-- 在区域块内输出内容 -->
@section('header')
<!-- 输出父模板的内容 -->
@parent
header
@stop
@section('sidebar')
sidebar
@stop
@section('content')
content
@stop