Blade 模板引擎

与大多数其他后端语言相比,PHP实际上作为模板语言运行得相对较好。 但它也缺点,就是遍地使用<?php 内联,所以你期待一个提供模板语言的时髦框架.

Laravel提供了一个名为Blade的定制模板引擎,它受到.NET的Razor引擎的启发。它拥有简洁的语法、较浅的学习曲线、强大而直观的继承模型和易于扩展的特性。

快速查看一下如下例子,示例4-1

Example 4-1. Blade samples
<h1>{{ $group->title }}</h1>
{!! $group->heroImageHtml() !!}
@forelse ($users as $user)
{{ $user->first_name }} {{ $user->last_name }}
@empty
No users in this group.
@endforelse

正如您所看到的,Blade使用花括号作为“echo”,并引入了一种约定,以@为前缀的定义标记(称为“指令”),你可以使用指令控制结构,用于继承也添加自定义功能.

Blade语法简介明了,核心更是优雅整洁,与此同时,当在模板内涉及嵌套,继承,复杂结构使用Blade更是得心应手,它可以完成复杂的应用需求,并使得这一切易于使用

另外,所有的Blade语法都会编译成PHP代码并缓存起来,它是非常快的,你也可以在其中混入PHP代码,但是我并不推荐混写PHP,通常如果用Blade模板或者是自定义指令无法完成的事,这件事就不应该属于模板

在Laravel内使用Twig

与其他基于Symfony的框架不用,Laravel默认不使用Twig,如果你想用Twig,有一个Twig包用于替代Blade