模版引擎
php文件名
***.blade.php
,有点类似php基础中的模版语法。
浏览器通过路由地址访问***.blade.php
文件的时候,实际访问的是经过模版引擎翻译后的另外一个文件。该文件在storage/framework/views
下。
相当于增加一种语法,可根据个人喜好,选择如何使用。
模版引擎e函数
,可以解析参数变量的html代码,不用e
的替代方法:{!!$name!!}
// 原来视图文件代码
<table class="layui-table">
<thead>
<tr>
<td>ID</td>
<td>标题</td>
</tr>
</thead>
<tbody>
<?php foreach ($result as $val): ?>
<tr>
<td><?php echo $val['id']; ?></td>
<td><?php echo $val['title']; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<hr>
<table class="layui-table">
<thead>
<tr>
<td>ID</td>
<td>标题</td>
</tr>
</thead>
<tbody>
@foreach ($result as $val)
<tr>
<td>{{$val['id']}}</td>
<td>{{$val['title']}}</td>
</tr>
@endforeach
</tbody>
</table>
// laravel 模版引擎翻译后视图文件代码
<table class="layui-table">
<thead>
<tr>
<td>ID</td>
<td>标题</td>
</tr>
</thead>
<tbody>
<?php foreach ($result as $val): ?>
<tr>
<td><?php echo $val['id']; ?></td>
<td><?php echo $val['title']; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<hr>
<table class="layui-table">
<thead>
<tr>
<td>ID</td>
<td>标题</td>
</tr>
</thead>
<tbody>
<?php $__currentLoopData = $result; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $val): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
<tr>
<td><?php echo e($val['id']); ?></td>
<td><?php echo e($val['title']); ?></td>
</tr>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
</tbody>
</table>
中间键
使用命令创建中间键:php artisan make:middleware Mymiddleware
。
handle
方法:必须要有。handle
方法参数:$request
: 包含所有和请求相关的参数,Closure $next
:闭包。
注册:到app/http/Kerner.php文件中按照模版添加
'mymiddle' => \App\Http\Middleware\Mymiddleware::class,
- mymiddle: 相当于是键名
- \App\Http\Middleware:中间键类的命名空间。
触发:在路由地址后面绑定中间键。
Route::get('/home/myblade', 'Home@myblade')->middleware('mymiddle');