Laravel Blade模板
Blade是Laravel框架中强大的模板引擎。Blade允许轻松地使用模板引擎,并使语法编写变得非常简单。Blade模板引擎提供了自己的结构,如条件语句和循环。要创建一个Blade模板,您只需创建一个视图文件,并将其保存为.blade.php扩展名而不是.php扩展名。Blade模板存储在/resources/view目录中。使用Blade模板的主要优势是我们可以创建一个可以被其他文件扩展的主模板。
为什么使用Blade模板
Blade模板的使用原因如下:
- 显示数据 如果您想打印变量的值,只需将变量放在大括号中即可。
语法
{{$variable}};
在 Blade 模板中,我们不需要在 <?php echo $variable; ?>
之间编写代码。上述语法相当于 <?= $variable ?>
。
- 三元运算符 在 Blade 模板中,可以使用以下语法编写三元运算符:
{{ $variable or 'default value'}}
以上的语法等同于 <?= isset(variable) ?variable : ?default value? ?>
Blade模板控制语句
Blade模板引擎在laravel中提供了控制语句和控制语句的快捷方式。
<html>
<body>
<font size='5' face='Arial'>
@if(($id)==1)
student id is equal to 1.
@else
student id is not equal to 1
@endif
</font>
</body>
</html>
输出
Blade模板提供 @unless 指令作为条件语句。上面的代码等同于以下代码:
<html>
<body>
<font size='5' face='Arial'>
@unless($id==1)
student id is not equal to 1.
@endunless
</font>
</body>
</html>
@hasSection 指令
Blade模板引擎还提供了 @hasSection 指令,用于判断指定的区块是否包含任何内容。
让我们通过一个示例来了解。
<html>
<body>
<title>
@hasSection('title')
@yield('title') - App Name
@else
Name
@endif
</title>
</font>
</body>
</html>
输出
blade循环
blade模板引擎提供了诸如@for、@endfor、@foreach、@endforeach、@while和@endwhile等循环指令。这些指令用于创建与PHP等效的循环语句。
@for循环
- 首先,在resources/views目录中创建student.blade.php文件。
Student.blade.php
value of i :
@for(i=1;i<11;i++)
{{i}}
@endfor
- 现在,在PostController.php文件中添加以下代码。
public function display()
{
return view('student');
}
- 在 web.php 文件中添加路由。
Route::get('/details', 'PostController@display');
输出
@foreach loop
- 首先,在resources/views目录下创建 student.blade.php 文件。
@foreach(students asstudents)
{{$students}}<br>
@endforeach
- 现在,在 PostController.php 文件中添加以下代码。
public function display()
{
return view('student', ['students'=>['anisha','haseena','akshita','jyotika']]);
}
在上面的代码中,我们将students数组传递给 student.blade.php 文件。
- 在 web.php 文件中添加路由。
Route::get('/details', 'PostController@display');
输出
@while循环
- 首先,在resources/views目录中创建student.blade.php文件。
@while((i)<5)
javatpoint
{{i++}}
@endwhile
- 现在,在PostController.php文件中添加以下代码。
public function display($i)
{
return view('student');
}
- 在web.php文件中添加这个路由。
Route::get('/details/{i}', 'PostController@display');
输出结果