blade模板的使用

  • blade模板简介
    在之前的laravel的了解过程中,知道怎么去使用laravel中的blade模板,同时也了解到在laravel中blade模板引擎功能非常强大,在这里不限制开发人员使用原声php代码,并且会把编译后的php原生代码生成缓存文件,方便在调试错误的时候,直接查看,当然这些呢仅仅是它的一部分,laravel官方在应用blade的模板中声明了很多函数,可以在blade模板中灵活的去应用.laravel的视图文件定义在resources/views 目录下.
  • 如何在方法中调用视图文件
    在laravel中调用视图文件,可以在路由中去调用,也可以在方法中去调用,但是不论在哪里使用都离不开一个函数view,laravel封装好了这个函数,可以飞铲方便的去调用模板,比如:
    在路由中调用一个add.blade.php模板
Route::get('add',function(){
    return view('add');//只需要调用名字,后缀不需要调用
});
  • 在方法中去调用
    也是同样的使用方法,如
public function add(){
    return view('add');
}

当然,我们如果做一个完整的项目的话,使用的模板肯定很多,就不能全部放到views目录下.需要自定义的文件夹,方便去查看,比如,views/article/add.blade.php

public function  add(){         
    return view('article.add');
}
  • 模板赋值

在方法中如何把数据传值到模板中,注意模板赋值要以一维数组的形式去传递如:

public function add(){
    $data = ['title'=>'laravel','content'=>'blade模板'];
    //直接在view函数第二个参数传递即可
    return view('add',['data'=>$data]);
}
  • 模板继承
    何为模板继承,比如在tp框架中,有模板包含.可以利益include函数把一些模板相同的头尾部给引用过来,这样可以提高一些开发效率,但是模板继承比模板包含更加的实用,比如两个模板,虽然中间的内容不同,但是头尾部和中间的模板布局相同,就直接可以把共同的布局给继承过来.如

  • 定义页面布局模板

//名字 为 parent.blade.php
<html>
    <head>
        <title>App Name - @yield('title')</title>
    </head>
    <body>
        @section('sidebar')
            This is the master sidebar.
        @show

        <div class="container">
            @yield('content')
        </div>
    </body>
</html>

如上所见,这个文件中包含了通常见到的 HTML 标签。不过,请注意一下 @section@yield 指令。@section 指令正像其名字所暗示的一样是用来定义一个视图片断(section)的;@yield 指令是用来展示某个指定 section 所代表的内容的。

上面这个布局呢,大家都可以明白,这个布局相当于一个公共的布局,那下面在定义一个页面模板作为继承使用,如

//名字  为son.blade.php与parent.blade.php 为同目录 
//首先继承模板
@extends('parent')

// 继承指定的title
@section('title', 'Blade')

@section('sidebar')
    @@parent

    <p>blade模板使用</p>
@endsection

@section('content')
    <p>This is my body content.</p>
@endsection

然后在方法中

public function test(){
    return view('son');
}

在方法中直接调用son.blade.php就行,如果调用成功是直接使用的是parent.blade.php的模板布局,这就是继承,主要注意点就是@yield 和@section 这两个函数的使用,极大的提高开发效率

  • 模板判断

在tp框架中,如果想要使用if判断必须使用原生php写法,相对来说的使用起来比较麻烦,那么如果在blade模板中使用,怎么使用呢??

//public function add(){
    $data = ['title'=>'laravel','content'=>'blade模板','score'=>mt_rand(40,90)];
    return view('add',['data'=>$data]);
}
//模板中展示直接 {{$title}}双大括号里传变量名字,模板会自动去解析
{{$score}}
@if($score >= 60)
及格
@else
不及格
@endif

主要的使用方法并没太大改变,但是注意,如果使用if判断
两个注意点
1,加@符号
2,有开始就有结束 @endif

  • 模板循环
  • foreach
  • forelse

使用方法与if判断语句相同

//foreach 循环
@foreach($user  as $u)
{{$u}}
@endforeach


//forelse
@forelse($user as $u)
{{$u}}
@empty
暂无记录
@endforelse

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容