Laravel控制器的相关知识
1. 便捷的创建命令
通过artisan
命令创建TaskController控制器
php artisan make:controller TaskController
创建一个资源控制器TaskController
php artisan make:controller TaskController --resource
生成路由缓存(注意:路由缓存不能再闭包函数的形势下生成)
php artisan route:cache
相对应的,清除路由缓存
php artisan route:clear
2. 什么是资源路由
细心的朋友会发现,我们上面创建了一个资源控制器,什么是资源控制器呢?其实就是为了更加规范我们的代码与函数命名,避免函数起名困难问题的控制器。对应下面这张表:
他规定了路由的请求类型,介绍了url的书写方式,控制器中对应的方法,以及描述了业务逻辑,随着跟多的学习我们会越来越理解他
3. 绑定数据模型
Route::get('task/{task}', function (\App\Models\Task $task) {
dd($task); // 打印 $task 明细
});
其实就是用唯一的关键字对路由进行命名
4. 兜底路由
其实就是替代404页面的存在
官方示例:
Route::fallback(function () {
return '我是最后的屏障';
});
5. 频率限制
关于这个就是对一段时间内,路由访问次数的限制,刚接触的时候是从一个同事那里听到的,他问我接口限制了吗?我心想啥?还要限制,他说一般的话会对字数,访问频率进行限制,laravel中用throttle
中间件进行限制
Route::middleware('throttle:60,1')->group(function () {
Route::get('/user', function () {
//
});
});
6. laravel中的CSRF保护
laravel对路由的请求形式进行了保护,他希望都是只读的,当我们请求形式是POST、PUT、PATCH、DELETE
时,需要传入_token
字段,通过一个表单域的形式
<input type="hidden" name="_token" value="' . csrf_token() . '">