## 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模板引擎的更多相关文章

  1. Laravel之视图和Blade模板引擎

    一.视图 1.视图文件存放在resources/views目录2.视图载入及传参 return view('greeting', ['name' => 'James']); 还可以通过with ...

  2. Laravel 5.2 三、中间件、视图与 Blade 模板引擎

    一.中间件 Laravel 的 HTTP 中间件提供了对路由的一层过滤和保护.下面模拟一下用中间件验证后台登录. 1. 创建中间件 cmd 窗口进入项目目录,使用 artisan 命令创建 php a ...

  3. laravel Blade 模板引擎

    与视图文件紧密关联的就是模板代码,我们在视图文件中通过模板代码和 HTML 代码结合实现视图的渲染.和很多其他后端语言不同,PHP 本身就可以当做模板语言来使用,但是这种方式有很多缺点,比如安全上的隐 ...

  4. PHP laravel 5.0 Blade 模板引擎 Api使用备注

    PHP laravel 5.0 Blade 模板引擎 Api使用备注 /** * PHP laravel 5.0 Blade 模板引擎 Api使用备注 **/ //子模版中开头,调用@extends( ...

  5. Laravel 5.1 Blade模板引擎

    为什么要使用blade 它是干什么用的? blade模板引擎使我们写HTML页面的地方,使用它是因为它能给我们提供很多的遍历,减少代码的重复率 提高开发效率.我们写blade的路径是 resource ...

  6. 为 Blade 模板引擎添加新文件扩展名

    因为一些原因,我准备把 Blessing Skin 的框架换成 Laravel 了(之前是自己搭建的一个框架),但是在模板迁移的时候遇到了一点问题. 之前我是使用的 XiaoLer/blade 这个从 ...

  7. PHP 安全三板斧:过滤、验证和转义之转义篇 &amp; Blade模板引擎避免XSS攻击原理探究

    PHP 转义 实现 把输出渲染成网页或API响应时,一定要转义输出,这也是一种防护措施,能避免渲染恶意代码,造成XSS攻击,还能防止应用的用户无意中执行恶意代码. 我们可以使用前面提到的 htmlen ...

  8. laravel框架之blade模板引擎

    ## 1.基本用法 ##情形1 $name = laravel5 <div class="title"> {{$name}} {{$name}}</div> ...

  9. flask框架下的jinja2模板引擎(2)(过滤器与自定义过滤器)

    flask框架下的jinja2模块引擎(1):https://www.cnblogs.com/chichung/p/9774556.html 这篇论文主要用来记录下 jinja2 的过滤器. 什么是过 ...

随机推荐

  1. indexOf、instanceOf、typeOf、valueOf详解

    1.indexOf() 该方法用来返回某个指定的字符串值在字符串中首次出现的位置. 语法:indexOf(searchvalue,fromindex);两个参数,参数一表示查询的字符串值,参数二可选表 ...

  2. IOS多媒体

    概览 随着移动互联网的发展,如今的手机早已不是打电话.发短信那么简单了,播放音乐.视频.录音.拍照等都是很常用的功能.在iOS中对于多媒体的支持是非常强大的,无论是音视频播放.录制,还是对麦克风.摄像 ...

  3. 在idea中mybatis错误(1)

    错误提示为: ### Error building SqlSession.### The error may exist in cn/qd/mybatis/map/productMapper.xml# ...

  4. R语言实战读书笔记(一)R语言介绍

    1.3.3 工作空间 getwd():显示当前工作目录 setwd():设置当前工作目录 ls():列出当前工作空间中的对象 rm():删除对象 1.3.4 输入与输出 source():执行脚本

  5. react native web

    http://rawgit.com/taobaofed/react-web/master/pages/uiexplorer.html#/scene_1?_k=7vm99j

  6. golang_protobuf环境搭建

    搭建golang使用rotobuf使用环境 一 安装protobuf: 1 下载protobuf源码:https://github.com/google/protobuf 2 进入源码目录: ./au ...

  7. RESTful API 编写指南

    基于一些不错的RESTful开发组件,可以快速的开发出不错的RESTful API,但如果不了解开发规范的.健壮的RESTful API的基本面,即便优秀的RESTful开发组件摆在面前,也无法很好的 ...

  8. python多线程和多进程使用

    # 多线程 from concurrent.futures import ThreadPoolExecutor # 多进程 from concurrent.futures import Process ...

  9. tp 内置压缩文件zip

    一.解压缩zip文件 $zip = new ZipArchive;//新建一个ZipArchive的对象 /* 通过ZipArchive的对象处理zip文件 $zip->open这个方法的参数表 ...

  10. post请求参数设置

    控制器参数有[FromBody]修饰参数这么传: 控制器没有[FromBody]修饰参数这么传: