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的主体部分
//我是公共尾部

```

时间: 2024-10-08 03:55:55

laravel框架(blade模板引擎)的相关文章

Laravel 5.1 Blade模板引擎

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

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}} ##情形

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使用的模板引擎 blade

使用blade引擎的话必须在控制器中使用use   Blade 模板文件使用“模板名”+.blade.php结尾. 如home.blade.php 在模板中调用数组数据进行循环: 结果如下:

web框架--tornado框架之模板引擎

使用Tornado实现一个简陋的任务表功能demo来讲解tornado框架模板引擎 一.demo目录结构 二.具体文件内容 2.1.commons.css .body{ margin: 0; background-color: bisque; } 2.2.index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title

Laravel中的模板引擎Blade

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>模板继承@yield('title')</title> <style> .header{ width: 1000px; height:150px; margin: 0 auto; background: #f5f5f5; border: 1px

laravel的blade模板的布局嵌套

测试路由 Route::get('/', function() { $value = [1,2,3]; return View::make('home.index', array('data' => $value)); }); views下面的目录结构 /Applications/MAMP/htdocs/testApp/app/views mac:views mmc$ tree . ├── home │   └── index.blade.php └── mylayout └── test_la

web框架--tornado框架之模板引擎继承

使用模板的继承可以重复使用相同结构的模板, 可以大大减少代码量 入门实例 一.demo目录结构 注解: master.html为模板内容,被index.html,account.html引用 二.各文件代码 2.1.master.html 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Maste

前后端模板引擎

页面模板化,直接加载json,循环替换即可,把页面变成js模板,加载json,生成页面即可 JS模板,前端模板引擎 把JS获取到的接口数据重新放进页面,进行数据更新 php模板引擎: feather view http://feather-team.github.io/blade是laravel提供的模板引擎http://www.golaravel.com/laravel/docs/5.1/blade/ laravel框架 java模板引擎:freemarker 前端模板引擎artTemplat