laravel 模版引擎使用

laravel 模版引擎以 @标签 开头,以 @end标签 结尾,常用有 foreach foreachelse if for while等

1)foreach 和 foreachelse 差不到,区别就是 foreachelse 还有一个@empty 分支,当循环的变量为空时执行

@foreach ($obj as $key=>$value)
{{--循环体--}}
@endforeach

@foreachelse ($obj as $key=>$value)
{{--循环体--}}
@empty
{{--查无数据--}}
@endforeach

2)if for while 就不用说了,都很简单

@if (条件)
{{--内容--}}
@endif

@if
{{--内容--}}
@elseif (条件)
{{--分支内容--}}
@else
{{--分支内容--}}
@endif

@for ($i = 0; $i < 10; $i++)
{{--内容--}}
@endfor

@while (条件)
{{--内容--}}
@endwhile

3)$loop 变量

for 和 foreach 循环里提供了一个辅助变量 $loop ,可以用它来做一些循环的判断

$loop->index    当前循环迭代索引 (从0开始).
$loop->iteration    当前循环迭代 (从1开始).
$loop->remaining    当前循环剩余的迭代
$loop->count    迭代数组元素的总数量
$loop->first    是否是当前循环的第一个迭代
$loop->last    是否是当前循环的最后一个迭代
$loop->depth    当前循环的嵌套层级
$loop->parent    嵌套循环中的父级循环变量

4)注释

为什么不直接用html的注释"<!--注释-->"呢?因为用<!-- --> 写注释会很尴尬地输入显示在html源码里,别人的审查元素看html源码里会看到你的写的(有用的,无用的)注释

laravel 提供了 {{-- 注释 --}} 标签来写注释,写在这里面的注释,不会编译渲染到浏览器去

5)模版继承,引入模版

{{-- 继承 resources/views/layouts/master.blade.php 模版 --}}
@extends(‘layouts.master‘)

{{-- 覆盖父模版的 section 内容 --}}
@section(‘title‘, ‘Page Title‘)
{{-- 引入模版,同时还可以传入参数到引入的模版 --}}
@include(‘view.name‘, [‘some‘ => ‘data‘])

6)laravel模版里可以使用任意 php 代码

例如:{{ date(‘Y-m-d H:i:s‘, $item->time) }}

时间: 2024-10-16 18:44:41

laravel 模版引擎使用的相关文章

Laravel 模板引擎Blade中标签详细介绍

这篇文章主要介绍了Laravel模板引擎Blade中section的一些标签的区别介绍,需要的朋友可以来看看. Laravel 框架中的Blade模板引擎很好用,但是官方文档介绍的并不详细,我接下来将详细的介绍下: @yield与@section 首先,@yield是不可拓展的,如果你要定义的部分没有默认内容让子模版扩展,那么用@yield($name,$default)的形式会比较方便,如果你在子模版中并没有指定这个区块的内容,它就会显示默认内容,如果定义了,就会显示你定义的内容. 与之比较,

如何在前端模版引擎开发中避免使用eval函数

前段时间,想着自己写一个简单的模版引擎,便于自己平时开发demo时使用.于是根据自己对模版引擎的理解,定义自己的模版格式,然后,根据自己定义的格式,编写处理函数,将模版标签中的字符串,解析成可执行的字符串,然后再用eval函数执行该可执行的字符串. 然后问题就出现了!eval等价于evil! 为什么呢?各大js权威书籍上都不提倡使用eval.下面我详细的解释一下为什么不提倡. 首先,大家需要知道,js并不是一门解释型语言.它和其他大家熟知的编程语言(c,java,c++)一样,是编译型语言.但是

前端数据模版引擎的总结

模板的工作原理可以简单地分成两个步骤:模板解析(翻译)和数据渲染.这两个步骤可分别部署在前端或后端来执行.如果放在后端执行,则是像Smarty,FreeMarker这样的后端模板引擎,而如果放在前端来执行,则是我们要探讨的前端模板. FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写,模板用servlet提供的数据动态地生成 HTML,模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度.这里不再对后端模版进行描述. 前端模版提高了前端开发

Express模版引擎hbs备忘

最近几天折腾了下express,想找个合适的模版引擎,下面是一些折腾过程的备忘 选择标准 选择一门模版语言时,可能会考虑的几点 语法友好(micro tmpl那种语法真是够了) 支持模版嵌套(子模版的概念) 支持模版继承(extend) 前后端共用 有容错处理(最好定位到具体出错位置) 支持预编译(性能好) 注意到hbs,似乎满足大部分的需求:https://github.com/donpark/hbs getting started demo地址:https://github.com/chyi

Spring整合Velocity模版引擎

1. 首先通过pom.xml自动加载velocity扩展包到工程: 1 <dependency> 2 <groupId>velocity</groupId> 3 <artifactId>velocity</artifactId> 4 <version>1.5</version> 5 </dependency> 2. 然后在自动装载bean的xml里边添加如下配置: 1 <bean id="vel

Symfony2模版引擎使用说明手册

一.基本使用 {{ demo }}输出一个demo变量; {{% func %}}通常是包含一个twig函数例如 for; 举个for循环的例子: {{% for i in 0..10 %}} <em>{{ i }}</em> {{% endfor %}} 当然也可以打印对象,例: {{% for user in users %}} <span>user.username</span> {{% endfor %}} 注:users是从控制器中传来的对象参数

【转】T4模版引擎之基础入门

额,T4好陌生的名字,和NuGet一样很悲催,不为世人所熟知,却又在背后默默无闻的奉献着,直到现在我们项目组的人除了我之外,其它人还是对其豪无兴趣,基本上是连看一眼都懒得看,可怜的娃啊... T4(Text Template Transformation Toolkit)是微软官方在VisualStudio 2008中开始使用的代码生成引擎.在 Visual Studio 中,“T4 文本模板”是由一些文本块和控制逻辑组成的混合模板,它可以生成文本文件. 在 Visual C# 或 Visual

Java模版引擎velocity的使用

前言 关于velocity与SpringMVC的配置请参考前一篇文章,此处不再介绍.velocity作为Java模版引擎的主要目的是为了允许任何人使用简单而强大的模板语言来引用定义在Java代码中的对象.在velocity文件中可以给该页面指定模版布局,从而节省了大量的时间去写通用的模版布局.可以定义变量,与Java方法进行交互. 定义一个layout模版 在上一篇文章中提到了配置默认模版,当然也可以不使用默认模版即在要用到的页面的最上端写上 #set($layout='layout/yourl

使用模版引擎填充重复dom元素

引入arttemplate,定义newajax发送跨域请求获得数据,将获得的数据用定义的格式渲染 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="js/jquery.js"></script> <scrip