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
  //这样就会在将父类和子类的内容都输出

  ##子视图最终结果
  //头部内容
  //我是父类视图的内容
  //我是子类视图的内容
  //尾部内容

##情形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的主体部分
  //我是公共尾部
时间: 2024-10-14 08:42:23

laravel框架总结(二) -- blade模板引擎的相关文章

Laravel之视图和Blade模板引擎

一.视图 1.视图文件存放在resources/views目录2.视图载入及传参 return view('greeting', ['name' => 'James']); 还可以通过with 方法添加独立的数据片段到视图return 还可以通过with 方法添加独立的数据片段到视图 return view('greeting')->with('name', 'john'); 也可以使用compact return view('greeting')->compact('name','ag

Laravel 5.1 Blade模板引擎

为什么要使用blade 它是干什么用的? blade模板引擎使我们写HTML页面的地方,使用它是因为它能给我们提供很多的遍历,减少代码的重复率 提高开发效率.我们写blade的路径是 resources/view 下,它的文件名后缀是blade.php. 1 继承 继承是相当爽的,它可以从主模板继承所有代码,以免大量的代码重复.这样说比较片面,具体看眼代码吧. 1.1 模板继承拓展 代码片段 首先先创建一个 admin/layout.blade.php: <!DOCTYPE html> <

laravel框架学习(二)

在了解Laravel框架的基本结构之后,初步认识访问过程中路由的使用方法,以一套基本的学生信息增删改查来迅速学习框架开发. 首先了解几个目录文件作为开发的主要阵地: 1. /app/Http/routes.php 路由文件,一切访问从路由开始 2./app/Http/Controllers 控制器目录,我们写的控制器都放在该目录下 3./app/config Laravel配置文件夹一般修改.env文件 4./.env 经常修改配置的文件,数据库配置就在这里 5./public Laravel框

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

Tornado框架配置使用Jinja2模板引擎

安装jinja2包 pip install jinja2 定义继承tornado.web.RequestHandler的子类BaseHandler.如果请求处理类继承这个类将会使用jinja模板引擎:如果请求处理类继承tornado.web.RequestHandler,则会使用Tornado框架的模板引擎. 1 import os 2 3 from jinja2 import Environment, FileSystemLoader, TemplateNotFound 4 from torn

laravel5.1框架基础之Blade模板继承简单使用方法分析

模板继承什么用? 自然是增强基础页面的复用,有利于页面文档的条理,也便于更改多处使用的内容,如页头.页脚 1.用法概要 @include('common.header') 包含子视图 @extends('article.common.base') 继承基础模板 @yield('content') 视图占位符 @section('content') @endsection继承模板后向视图占位符中填入内容 {{-- 注释 --}} Blade模板中注释的使用 2.具体使用 2.1 新建Article

(二)模板引擎之Velocity脚本基本语法全

velocity velocity三种reference 变量:对java对象的一种字符串化表示,返回值调用了java的toString()方法的结果. 方法:调用的是对象的某个方法,该方法必须是public的,返回值也是toString(),方法的参数也必须为String的. 属性:除了访问java的类属性外,等价于get..()方法. 基本符号 1."#"来标识velocity的脚本语句. 2."$"来标识一个对象(或者变量). 3."{}"

(二)模板引擎之Velocity脚本基本的语法全

velocity velocity三种reference 变量:对java对象的一种字符串化表示,返回值调用了java的toString()方法的结果. 方法:调用的是对象的某个方法.该方法必须是public的.返回值也是toString(),方法的參数也必须为String的. 属性:除了訪问java的类属性外,等价于get..()方法. 基本符号 1."#"来标识velocity的脚本语句. 2."$"来标识一个对象(或者变量). 3."{}"

[Laravel框架学习二]:Laravel的CURD和查询构造器的CURD,以及聚合函数

1 public function index() 2 { 3 4 //return Member::getMember();//这是调用模型的方法 5 6 return view('lpc',[ 7 'age'=>18, 8 'name'=>'PengchongLee', 9 ]); 10 } 11 public function test()//一个方法得设置一个路由 12 { 13 //echo 1;//测试路由 14 15 //新增数据 16 //$data = DB::insert(