laravel学习笔记(5)— Blade模板引擎

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

1.Blade模板引擎简介

● blade是laravel提供的一个既简单又强大的模板引擎。

● 和其他流行的PHP模板引擎不一样,Blade并不限制你在视图(View)中使用原生PHP代码。

● 所有Blade视图页面都将被编译成原生PHP代码并缓存起来,除非你的模板文件被修改了,否则不会重新编译。

2.模板继承

● section                 ● yield

● extends                ● parent

<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>
{{-- section是用来定义一个视图片段的--}}
{{-- yield 是用来展示某个指定的section里所表达的内容 可以将其假设为一个占位符用子模版去实现它--}}
{{--区别
    yield是不可扩展的(因为他只声明定义了一个视图片段没有任何内容)
    section既定义了视图片段,也可以有内容,还可以被子模版扩展
--}}

在view中:
模板继承 用@extends('模板名')
模板重写 用@section('重写部分的名字')
                重写的内容
                @stop
对@yield的模板重写也是一样的用法。

二、基础语法及include的使用

● 模板中输出变量

● 模板中调用PHP代码

● 原样输出

● 模板中的注释

● 引入子视图include的使用

@section('footer')
	{{-- footer --}}
	{{-- 1.模板中输出php变量 --}}
	{{-- {{ $testName }} --}}
	{{-- 2.模板中执行php代码 --}}
	{{-- {{ date('Y年m月d日 H时i分s秒', time()) }} --}}
	{{-- 3.模板中强制输出 @{{ $name }} 字符串 --}}
	{{-- @{{ $age }} --}}
	{{-- 4.注释格式 --}}
	{{-- 5.子视图引用 include --}}
	@include('common1', ['message'=>'hello world'])
@stop
三、流程控制

● if             ● unless

● for           ● foreach

@section('footer')
	{{-- 流程控制 --}}
	{{-- if ifelse else endif --}}
{{-- 	@if($name == 'EnzoLiu')
		i'm EnzoLiu
	@elseif($name == 'jeck')
		i'm jeck
	@else
		who am i?
	@endif --}}

	{{-- unless(if反向) --}}
{{-- 	@unless($name != 'EnzoLiu')
		我是EnzoLiu
	@else
		我不是EnzoLiu
	@endunless --}}

	{{-- for 循环 --}}
{{-- 	@for($i=0; $i<10; $i++)
		{{ $i }}
	@endfor --}}

	{{-- foreach 数组遍历 --}}
{{-- 	@foreach($res as $key => $value)
		{{ $key }}<br>{{ $value }}
	@endforeach --}}

	{{-- forelse 循环(特殊) --}}
	{{-- 释: $res如果有值则运行 $obj->name 代码块, 如果为空则显示 null --}}
{{-- 	@forelse($res as $obj)
		{{ $obj->name }}<br>
	@empty
		null
	@endforelse --}}
@stop
四、模板中的URL

● url()

● action()

● route()

<!-- url()通过路由的名称生成url -->
	<a href="{{ url('url') }}">url()</a>
	<br>
	<!-- action()通过制定控制器及方法名生成url -->
	<a href="{{ action('StudentController@urlTest') }}">action()</a>
	<br>
	<!-- route()通过路由的别名生成url -->
	<a href="{{ route('url') }}">route()</a>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值