这篇文章给大家介绍如何在Laravel中使用blade模板引擎渲染视图,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:
网站制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的
河间网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
laravel提供了blade模板引擎用于视图的渲染,在blade中可以直接使用PHP代码,并且blade最终也会被编译为php缓存起来,只有在blade文件被修改后才会重新编译,这一点可以节省开销提高应用性能。blade文件.blade.php作为视图文件存放于laravel的resource/views目录下。
1、定义模板
blade定义模板页面同创建html页面一样,只不过在适当的位置通过@section或@yield来占位,当其它页面引用模板页时将内容填充到占位的位置即可
@yield('title')
@section('header')
这是头部
@show
在页面中使用该组件:
@component('template.alert') {{--引入组件views/template/alert.blade.php--}}
@slot('title') {{--指定替代组件中的$title位置--}}
alert标题
@endslot
alert组件内容
@endcomponent
@component~@endcomponent之间的内容会自动替代组件{{$slot}},如果要指定替代的位置,可以通过@slot()~@endslot
引入子视图:在一个页面中如果希望引入一个blade子视图,可以通过@include()
@include('template.child')
在blade中输出变量通过{{$var}},其中的语句已经经过 PHP 的 htmlentities 函数处理以避免 XSS 攻击。例如在controller中引入view时传入变量参数:
public static function showBlade(){
return view('Login.login',['var'=>'test']);
}
在blade中使用该变量
变量为:{{isset($var)? $var : '默认值'}}
有时候我们希望blade不要对文本进行解析,原样输出,比如在vue中也使用{{}}包裹变量,我们不希望blade对其进行编译,这时可以使用@:
原文本输出:@{{ $var }}
3、流程控制
blade提供了一套流程控制语句来对页面的渲染进行控制,使页面的渲染更为快捷,并且这些控制语句都是和PHP非常类似的。
if判断:
@if ($val >80)
优秀
@elseif ($val>60)
及格
@else
不及格
@endif
循环:
@for ($i = 0; $i < 10; $i++)
The current value is {{ $i }}
@endfor
@foreach ($users as $user)
This is user {{ $user->id }}
@endforeach
switch分支:
@switch($i)
@case(1)
First case...
@break
@case(2)
Second case...
@break
@default
Default case...
@endswitch
认证:@auth 和 @guest 指令可用于快速判断当前用户是否登录:
@auth
// 用户已登录...
@endauth
@guest
// 用户未登录...
@endguest
关于如何在Laravel中使用blade模板引擎渲染视图就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
网页标题:如何在Laravel中使用blade模板引擎渲染视图-创新互联
浏览路径:
http://xdwzjz.cn/article/cshcpd.html