美文网首页PHP学习
Laravel-Blade模板引擎

Laravel-Blade模板引擎

作者: 威研威语 | 来源:发表于2017-02-08 17:39 被阅读0次

    Blade模板引擎

    1. Blade模板引擎简介及模板继承的使用
    2. 基础语法及include的使用
    3. 流程控制
    4. 模板中的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
    

    相关文章

      网友评论

        本文标题:Laravel-Blade模板引擎

        本文链接:https://www.haomeiwen.com/subject/vgcbittx.html