资讯专栏INFORMATION COLUMN

Laravel Blade 模板用法

MangoGoing / 1714人阅读

摘要:你可以传递额外的数据到子视图定义父视图,并包含子视图,且传入额外数据父视图父视图拥有变量包含子视图额外数据子视图

1. 继承、片段、占位、组件、插槽 1.1 继承 1.1.1 定义父模板
Laravel/resources/views/base.blade.php
1.1.2 子模板继承

路径:Laravel/resources/views/child.blade.php

@extends("base")
1.2 片段 1.2.1 父模板定义片段
@section("part")
// 中间内容即使一个片段
@show
1.2.2 子模板填充片段
@section("part")
片段填充内容
@endsection
1.3 占位 1.3.1 父模板占位:
@yield("title")
1.3.2 子模板填充占位
第一种填充(文本):
@section("title" , "填充的文本占位")

第二种填充(文本 or html)
@section("title")
填充的占位
@endsection
1.4 组件、插槽 1.4.1 定义组件

路径:Laravel/resources/views/component.blade.php

{{ $title }}
{{ $content }}
1.4.2 使用组件

路径:Laravel/resources/views/test.blade.php

@component("component")
    @slot("title")
        组件标题
    @endsolt
    
    @slot("content")
        组件内容
    @endslot
@endcomponent
2. 数据显示 2.1 转义输出
{{ $name }}
2.2 未转义输出
{!! $name !!}
2.3 原格式输出
第一种(适合量不多):
@{{ name }}

第二种(适合量多):
@verbatim
{{ name }}
{{ sex }}
{{ age }}
@endverbatim
3. 流程控制 3.1 for 注意:

没有 $loop 变量

没有 @empty

@break

@continue

@for ($i = 0; $i < 10; ++$i)
    {{ $i }} 
@endfor
3.2 foreach 注意:

有 $loop 变量

没有 @empty

@break

@continue

@foreach ($data as $k => $v)
    {{ $k }} 
@endforeach
3.3 forelse 注意:

有 $loop 变量

必须有 @empty

@break

@continue

@foreach ($data as $k => $v)
    {{ $k }} 
@empty 数组没有数据 @endforeach
4. 使用原生 PHP
@php 
echo "使用原生 PHP";
@endphp
5. 包含子视图 注意

被包含的子视图可以引用父视图定义的所有变量。

你可以传递额外的数据到子视图

定义父视图 parent.blade.php,并包含子视图 child.blade.php,且传入额外数据

/**
 * 父视图
 * 父视图拥有变量 $name = "chenxuelong"
 */

{{ $username }}
@include("child" , [ "other" => "额外数据" ])
/** * 子视图 */
{{ $username }}
{{ $other }}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25722.html

相关文章

  • Laravel 5 系列教程二:路由,视图,控制器工作流程

    摘要:但是不用担心,我们后续的教程会陆续讲解相关的内容。所以上面的路由注册其实就是负责解决访问的时候的响应。 原文来自:https://jellybool.com/post/programming-with-laravel-5-routers-views-controllers-workflow 免费视频教程地址 https://laravist.com/series/laravel-5-b...

    awesome23 评论0 收藏0
  • Laravel 5 系列教程三:视图变量传递和Blade

    摘要:所以在视图中我们需要这样输出这里应写成,而不是。这个时候注意更改视图的变量输出。 原文来自: https://jellybool.com/post/programming-with-laravel-5-blade-views-with-var 系列文章: http://segmentfault.com/blog/jellybool 免费视频教程地址 https://laravist...

    jindong 评论0 收藏0
  • [译] 使用 PHPStorm 开发 Laravel 应用

    摘要:很多程序员使用创建他们的应用程序。是一个免费开源的应用程序框架。是的模板语言,对艺术家友好,这个程序员的命令行工具可以在中工作使用插件和帮助器我们可以进一步扩展对应用的支持。 很多PHP程序员使用 [laravel] 创建他们的应用程序。[laravel] 是一个免费开源的PHP web应用程序框架。它基于多个Symfony 组件,提供了一个开发框架,包括authentication,...

    buildupchao 评论0 收藏0
  • 在 JS 中实现 Laravel 的 route 函数

    摘要:所以推荐给每个路由都命个名,并通过路由名的方式来获取。所以我就考虑能不能在中实现一个类似后端的函数。最终的解决方案很简单,两个函数就可以搞定。 在Laravel的路由模块里,我们可以给每一个路由设定一个名字,比如: Route::get(/blog/{blog}, BlogController@show)->name(blog.show); 然后就可以通过 route(blog.sho...

    zhangqh 评论0 收藏0
  • Laravel 模板引擎(Blade)原理简析

    摘要:上次提到过,模板引擎一般是要做三件事情变量值的输出条件判断和循环引入或继承其他文件现在就来看看的模板引擎是如何来处理这三件事情的。引擎接下来就是本文的重点是如何编译的。如果有兴趣的话,也可以实现一个自己的模板解析引擎。 上次提到过,模板引擎一般是要做三件事情: 变量值的输出(echo) 条件判断和循环(if ... else、for、foreach、while) 引入或继承其他文件 ...

    vvpvvp 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<