laravel框架之blade模板引擎
## 1.基本用法

##情形1 $name = laravel5
<div class="title"> {{$name}} {{$name}}</div>
//输出结果是 larave5 larave5 ##情形2 $name = laravel5 并且使用@的情形
<div class="title"> {{$name}} @{{$name}}</div>
//输出结果是 larave5{{$name}} ##情形3 $name=null的情况
<div class="title"> {{$name or 'xxx'}}是一个优雅的框架</div>
//输出结果是 xxx是一个优雅的框架 ##情形4 $name没有设置的情况下
<div class="title"> {{isset($anme)?$name:'xxx'}}是一个优雅的框架</div>
//输出结果是 xxx是一个优雅的框架 ##情形5 $str='<script>alert(1);</script>'
<div class="title"> {{$str}}是一个优雅的框架</div>
//输出结果是 <script>alert(1);</script>
//标签被转换了,防止注入 ##情形6 $str='<script>document.write("laravel");</script>'
<div class="title"> {!! $str !!}是一个优雅的框架</div>
//输出结果是 laravel
//使用双感叹号,这样就可以使用js输出laraval了

## 2.控制结构

##2.1 if的用法
@if (count($records) === 1)
我有一条记录!
@elseif (count($records) > 1)
我有多条记录!
@else
我没有任何记录!
@endif ##2.2 unless的用法
@unless (Auth::check())
你尚未登录。
@endunless ##2.3
//for的用法
@for ($i = 0; $i < 10; $i++)
目前的值为 {{ $i }}
@endfor //foreach的用法
@foreach ($users as $user)
<p>此用户为 {{ $user->id }}</p>
@endforeach //forelse的用法 扩展了foreach,当没有数据的时候会输出没有用户
@forelse ($users as $user)
<li>{{ $user->name }}</li>
@empty
<p>没有用户</p>
@endforelse //while的用法
@while (true)
<p>我永远都在跑循环。</p>
@endwhile

## 3.模板引擎子视图

##情形1
##父视图,layouts文件夹下的app.blade.php
<div>头部内容</div>
@yield('content')
<div>尾部内容</div> ##子视图中继承父类模板
@extends('layouts.app')
@section('content')
<div>这里写父视图$yield('content')内容的替换部分</div>
@endsection ##子视图最终结果
//头部内容
//这里写父视图$yield('content')内容的替换部分
//尾部内容 ##情形2
#父视图,layouts文件夹下的app.blade.php
<div>头部内容</div>
@section('content')
<div>我是父类视图的内容</div>
@show
<div>尾部内容</div> ##子视图中继承父类模板
@extends('layouts.app')
@section('content')
@parent
<div>我是子类视图的内容</div>
@endsection //上面父类的写法使用 section和show的组合,子类中在section中使用@parent
//这样就会在将父类和子类的内容都输出 <div>我是父类视图的内容</div> <div>我是父类视图的内容</div> ##子视图最终结果
//头部内容
//我是父类视图的内容
//我是子类视图的内容
//尾部内容 ##情形3 使用include并且从子视图往父类视图传递参数 ##common文件夹下header.blade.php
<div>我是公共头部{{$page}}</div> ##common文件夹下footer.blade.php
<div>我是公共尾部</div> ##index.blade.php中使用以上两个共用部分
@include'common.heaer,['page'=>",首页内容"]'
<div>我是index的主体部分</div>
@include'common.footer' ##子视图最终结果
//我是公共头部,首页内容
//我是index的主体部分
//我是公共尾部

laravel框架之blade模板引擎的更多相关文章
- PHP laravel 5.0 Blade 模板引擎 Api使用备注
PHP laravel 5.0 Blade 模板引擎 Api使用备注 /** * PHP laravel 5.0 Blade 模板引擎 Api使用备注 **/ //子模版中开头,调用@extends( ...
- Laravel 5.1 Blade模板引擎
为什么要使用blade 它是干什么用的? blade模板引擎使我们写HTML页面的地方,使用它是因为它能给我们提供很多的遍历,减少代码的重复率 提高开发效率.我们写blade的路径是 resource ...
- Laravel框架中Blade模板的用法
1. 继承.片段.占位.组件.插槽 1.1 继承 1.定义父模板 Laravel/resources/views/base.blade.php 2.子模板继承 @extends('base') 1.2 ...
- laravel Blade 模板引擎
与视图文件紧密关联的就是模板代码,我们在视图文件中通过模板代码和 HTML 代码结合实现视图的渲染.和很多其他后端语言不同,PHP 本身就可以当做模板语言来使用,但是这种方式有很多缺点,比如安全上的隐 ...
- Laravel 5.2 三、中间件、视图与 Blade 模板引擎
一.中间件 Laravel 的 HTTP 中间件提供了对路由的一层过滤和保护.下面模拟一下用中间件验证后台登录. 1. 创建中间件 cmd 窗口进入项目目录,使用 artisan 命令创建 php a ...
- 为 Blade 模板引擎添加新文件扩展名
因为一些原因,我准备把 Blessing Skin 的框架换成 Laravel 了(之前是自己搭建的一个框架),但是在模板迁移的时候遇到了一点问题. 之前我是使用的 XiaoLer/blade 这个从 ...
- PHP 安全三板斧:过滤、验证和转义之转义篇 & Blade模板引擎避免XSS攻击原理探究
PHP 转义 实现 把输出渲染成网页或API响应时,一定要转义输出,这也是一种防护措施,能避免渲染恶意代码,造成XSS攻击,还能防止应用的用户无意中执行恶意代码. 我们可以使用前面提到的 htmlen ...
- Ci框架整合smarty模板引擎
Ci框架整合smarty模板引擎 备注:下载smarty时,最好选择2.6版本,其他测试有坑,ci可以是2.2或其他 大体思路:将smarty封装成ci框架的一个类,然后重新配置一下smarty,这样 ...
- laravel框架总结(二) -- blade模板引擎
## 1.基本用法 ##情形1 $name = laravel5 <div class="title"> {{$name}} {{$name}}</div> ...
随机推荐
- MVC 之HTML辅助方法
顾名思义,HTML辅助方法(HTML Helper)就是用来辅助产生HTML之用,在开发View的时候一定会面对许多HTML标签,处理这些HTML的工作非常繁琐,为了降低View的复杂度,可以使用HT ...
- mssql名词解释
因为自己在sql这部分不强,有时候碰到一些名词我都不知道什么意思,所以在这里记录下,方便以后查看 1.NOT FOR REPLICATION 控制约束.标志和触发器 在所有IDENTITY属性字段 ...
- [日常] SinaMail项目和技术能力总结
一.企邮WEBMAIL项目1.完成手机绑定二次验证,绑定手机提升账户的安全性2.登陆验证接口改造,增加一系列登陆限制,增强webmail的系统可靠性3.增加外发限制功能,及时控制用户发信行为,有利于企 ...
- dubbo学习思路梳理
dubbo要解决的问题 rpc调用需要定制.额外的工作量 分布式服务中,服务动辄几十上百,相互之间的调用错综复杂,相互依赖严重 对集群性的服务,需要负载策略 对集群性的服务,能动态扩展节点 dubbo ...
- java并发编程的艺术(三)---lock源码
本文来源于翁舒航的博客,点击即可跳转原文观看!!!(被转载或者拷贝走的内容可能缺失图片.视频等原文的内容) 若网站将链接屏蔽,可直接拷贝原文链接到地址栏跳转观看,原文链接:https://www.cn ...
- WCF使用net.tcp传输文件
摘要:今天看了一些官方的资料和配置,简单写了一个WCF服务来传递一个文件,借此看看WCF传输大文件的能力,这里采用的是NetTcp绑定,之所以没有采用 basicHttpBinding是因为考虑这种方 ...
- Implementation:Segment Tree 线段树
早就听人提起过线段树,今天有题搞不出来,讨论上说要用一下线段树,看了下,本质上是空间划分索引,只不过是一维上面的,如果在二维则是四叉树,三维则是八叉树,如果可以动态调整那么跟R-Tree就很相似了,他 ...
- 【 js 模块加载 】【源码学习】深入学习模块化加载(node.js 模块源码)
文章提纲: 第一部分:介绍模块规范及之间区别 第二部分:以 node.js 实现模块化规范 源码,深入学习. 一.模块规范 说到模块化加载,就不得先说一说模块规范.模块规范是用来约束每个模块,让其必须 ...
- 视区相关单位vw, vh..简介以及可实际应用场景——张鑫旭
一.N多的唠哩唠叨 CSS3中一些新的单位早在去年春暖花开的时候就介绍了,参见:CSS长度值及时间.频率.角度单位.显然,其中就提到了本文要感叹的单位vw, vh,见下图: 不过“我看见你”和“我触碰 ...
- AJAX异步的 JavaScript
什么是AJAX: AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. ...