laravel框架总结(二) -- blade模板引擎
2023-09-11 14:19:50 时间
## 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的主体部分
//我是公共尾部
相关文章
- 模板方法设计模式:定义抽象类-模板:定义业务流程,执行步骤--》各业务类继承抽象类,实现各自不同 具体的执行步骤
- (尚055) Vue_源码分析_模板解析_一般指令
- Jade 模板引擎使用
- 模板引擎简介
- C++模板实现的AVL树
- 使用layui.flow流加载和模板引擎layui.laytpl实现下拉加载更多和图片懒加载
- 学渣乱搞系列之Tarjan模板合集
- python flask template 模板应用
- 调研js模板引擎
- js模板引擎
- 正常配置文件实例模板
- Handlebars.js 模板引擎
- idea注释模板
- 《Puppet实战手册》——2.6 使用内联模板
- 《JavaScript设计模式》——11.5 代理模板
- C++ 函数模板与类模板(使用 Qt 开发编译环境)
- Mock拦截请求URL返回模板数据
- php模板原理PHP模板引擎smarty模板原理浅谈
- 浅析JSX模板组件使用
- java根据模板生成pdf
- django 自定模板标签的注册
- Springboot +mybatis-plus 实现代码生成器(自定义默认模板引擎)
- 12款程序员们最爱的Bootstrap模板
- smarty模板引擎(一)基础知识
- 模板引擎Jinja2的基本用法
- MySQL的not exists与双重否定(模板)
- nodejs+express +jade模板引擎 新建项目
- nodejs 模板引擎ejs的使用
- 标准模板库(STL)
- JavaScript 自制可以替换属性的模板引擎(Template)
- Spring Boot 2.X 使用 Thymeleaf 模板引擎