三PHP框架Laravel学习笔记——路由参数重定向视图

Posted 小小白学计算机

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三PHP框架Laravel学习笔记——路由参数重定向视图相关的知识,希望对你有一定的参考价值。

一.路由参数

  1. 我们已经学习了部分路由参数的功能,比如动态传递{id};
  2. 那么,有时这个参数需要进行约束,我们可以使用正则来限定必须是数字;
Route::get('task/read/{id}', 'TaskController@read') 
	->where('id', '[0-9]+'); //单个参数 
	->where(['id'=>'[0-9]+', 'name'=>'[a-z]+']); //多个参数
  1. 如果想让约束 id 只能是 0-9 之间作用域全局范围,可以在模型绑定器里设置;
  2. 模型绑定器路径为:app\\Providers\\RouteServiceProvider 的 boot()方法;
    在这里插入图片描述
    在这里插入图片描述
public function boot() { 
	Route::pattern('id', '[0-9]+'); 
	parent::boot(); 
}
  1. 如果 id 已经被全局约束,在某个局部你想让它脱离约束,可以如下操作: …->where(‘id’, ‘.*’);
    在这里插入图片描述
    在这里插入图片描述

二.路由重定向

  1. 可以设置访问一个路由的 URI,跳转到另一个路由的 URI,具体如下:
Route::redirect('index', 'task'); 
Route::redirect('index', 'task', 301); //状态码 

在这里插入图片描述
在这里插入图片描述

  1. 还有一个方法,可以直接让路由跳转返回 301 状态码而不用设置:
Route::permanentRedirect('index', 'task');

三.视图路由

  1. 在使用视图路由之前,我们先要创建一个视图(MVC)中的 V 部分;
  2. 使用视图路由,有三个参数:1.URI(必);2.名称(必);3.参数(选);
    在这里插入图片描述

//参数 1:URI,localhost:8000/task
//参数 2:view,resources/views/task.blade.php
//参数 3:传参,{{$id}} Route::view(‘task’, ‘task’, [‘id’=>10]);
在这里插入图片描述

在这里插入图片描述

  1. 对于视图页面的创建,在 resources/views 下创建 task.blade.php;
    在这里插入图片描述

  2. 当然,也可以使用助手函数 view()方法来实现这个功能;
    在这里插入图片描述

//这里 view()的
//参数 1 是视图名称
//参数 2 传参,可选;

Route::get('task', function () { 
	return view('task', ['id'=>10]); 
}); 

在这里插入图片描述

  1. 也可以将路由直接指向控制器的方法,通过方法实现 view()引入视图;
public function index() { 
	return view('task', ['id'=>10]); 
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上是关于三PHP框架Laravel学习笔记——路由参数重定向视图的主要内容,如果未能解决你的问题,请参考以下文章

四PHP框架Laravel学习笔记——路由命名和分组

二PHP框架Laravel学习笔记——路由的定义和控制器

五PHP框架Laravel学习笔记——回退当前路由单行为

八PHP框架Laravel学习笔记——表单伪造和 CSRF 保护

php laravel框架学习笔记 基本工作原理

六PHP框架Laravel学习笔记——响应设置和重定向