Laravel Blade模板引擎

Blade模板引擎的简介及模板继承的使用

定义一个公用模板

view下的layouts.blade.php文件

<!DOCTYPE html>
<html>
<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;
        }

        .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;
        }

        .footer {
            width: 1000px;
            height: 150px;
            margin:0 auto;
            margin-top: 15px;
            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>

添加一个Controller文件 

StudentController.php
<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/5/25
 * Time: 9:26
 */
namespace App\Http\Controllers;

use App\Student;

class StudentController extends Controller
{
    public function section1()
    {
        $students = Student::get();
        $name = 'yci';
        $arr =['imooc','yci'];
        return view('student.section1',[
            'name'=>$name,
            'arr'=>$arr,
            'students'=>$students
        ]);
    }
}

在view文件夹下创建student文件夹,在此文件夹中添加与Controller中方法名相同的模板

section.blade.php文件

@extends('layouts')
@section('header')
    {{--实现父类的内容--}}
    @parent
    header
@stop

基础语法及include的使用

section1.blade.php文件
@extends('layouts')
@section('content')
    content
    {{--1.模板中输出PHP变量--}}
    <p>{{$name}}</p>
    {{--2.模板中调用PHP代码--}}
    <p>{{time()}}</p>
    <p>{{date('Y-m-d H:i:s',time())}}</p>
    <p>{{in_array($name,$arr)?'true':'false'}}</p>
    {{--3.原样输出,只需在前面加@符号--}}
    <p>@{{ $name }}</p>
    {{--4.模板中的注释不可见--}}
    <!-- html注释可以看见 -->
    {{--5引入子视图 include--}}
    @include('student.common',['message'=>'我是错误信息'])
@stop
common.blade.php文件
<p>我是include {{$message}}</p>

流程控制

@extends('layouts')
@section('content')
    {{--if的用法 ,unless相当于if的取反--}}
    @if($name =='yci')
        i'm yci
    @elseif($name =='imooc')
        i'm imooc
    @else
        who am i?
    @endif

    {{--for的用法--}}
    @for($i=0;$i<10;$i++)
        <p>{{$i}}</p>
    @endfor

    {{--foreach一般用于输出数组或者对象--}}
    @foreach($students as $student)
        <p>{{$student->name}}</p>
    @endforeach
    
    {{--forelse的用法--}}
    @forelse($students as $student)
        <p>{{$student->name}}</p>
    @empty
        <p>空数组</p>
    @endforelse

@stop

模板中的URL

@extends('layouts')
@section('content')

    url()通过路由的名称生成URL,action()通过指定控制器及方法名生成URL,route()通过路由的别名生成URL

<a href= " {{url( 'url' )}} " >url() </a><br/> <a href= " {{action( 'StudentController@urlTest' )}} " >action() </a><br/> <a href= " {{route( 'url' )}} " >route() </a><br/> @stop
public function urlTest(){
    return 'urlTest';
}
Route::any('url',['as'=>'url','uses'=>'StudentController@urlTest']);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值