PHP - Laravel 路由使用(详细案例)

简介: PHP - Laravel 路由使用(详细案例)

根据 PHP - Laravel 创建项目到服务器(nginx、apache)运行(附带目录结构) 已经搭建好环境。

一、什么是路由?

  • 将用户的请求按照事先规划的方案提交给指定的控制器和方法来进行处理。

  • 路由配置文件:routes/web.php

二、四种基础路由的定义(重点

  • 路由模板
// 路由样式
Route::请求方式('url', 匿名函数);
Route::请求方式('url', '控制器名称@操作方法');
Route::请求方式('url', '命令空间\控制器名称@操作方法');
// 路由中 url 前面的斜杠可写可不写
Route::请求方式('/url', 匿名函数);
① 从服务器取出资源(一项或多项) select
Route::get($uri, $callback);
② 在服务器新建一个资源 insert
Route::post($uri, $callback);
③ 在服务器更新资源 update
Route::put/patch($uri, $callback);
④ 从服务器删除资源 delete
Route::delete($uri, $callback);
4 种基础路由中,只有 GET 请求方式不进行 CSRF 验证,其它请求方式则需要 CSRF 验证

  • 路由例子(一)
  • 每个路由都是一种请求方式
// get 请求,它没有 CSRF 验证
Route::get('/get', function () {
    return 'get请求';
});
// 下面的都需要 CSRF 验证
// post 请求
Route::post('/post', function () {
    return 'post请求';
});
// put/patch 请求
Route::put('/put', function () {
    return 'put请求';
});
// delete 请求
Route::delete('/delete', function () {
    return 'delete请求';
});
  • 例子效果 -通过网站打开
  • Get 请求,没有 CSRF 验证

  • Post 请求走 Postman,浏览器默认为 Get 请求。

  • 例子效果 -Postman:
  • Get 请求,没有 CSRF 验证

  • Post 请求,报 419 错误,后面几种请求都需要 CSRF 验证,往后看解决方案。

  • 路由例子(二)
  • 一个路由支持多种请求方式
// get 请求,它没有 CSRF 验证
Route::get('/req', function () {
    return 'get请求';
});
// 下面的都需要 CSRF 验证
// post 请求
Route::post('/req', function () {
    return 'post请求';
});
// put/patch 请求
Route::put('/req', function () {
    return 'put请求';
});
// delete 请求
Route::delete('/req', function () {
    return 'delete请求';
});
  • 例子效果 - 通过网站打开
  • Get 请求

  • 例子效果 -Postman:
  • Get 请求,没有 CSRF 验证

  • Post 请求,报 419 错误,后面几种请求都需要 CSRF 验证,往后看解决方案。

protected $except = [
  // 把想排除的路由规则卸载此数组中
  // 将下面路由的规则不进行 CSRF 验证
  '/post',
  '/req'
];
  • 再次尝试请求


三、match 配置路由(重点

  • 单个路由配置多个请求类型
// match 支持一次性填写多个请求类型
Route::match(['get', 'post'], '/req', function () {
    // return 'match 路由定义';
    dump($_SERVER);
});
  • 例子效果 - Postman:


四、any 配置路由(实际工作中不推荐使用

  • 单个路由自适应支持所有请求
// match 支持一次性填写多个请求类型,工作中不推荐使用这种
Route::any('/req', function () {
    // return 'any 路由定义';
    dump($_SERVER);
});
  • 例子效果 - Postman:


五、路由别名

六、路由分组 - 路由前缀

七、控制器创建(关联路由、路由命名空间分组)

八、路由参数

九、接口请求参数获取(多种方式)

十、接口请求返回 JSON 数据

十一、路由(接口)重定向

十二、查看自定义路由列表 (php artisan route:list)


相关文章
|
10天前
|
缓存 中间件 API
PHP框架详解 - Laravel 框架
PHP框架详解 - Laravel 框架
|
23天前
|
开发框架 中间件 PHP
Laravel框架:优雅构建PHP Web应用的秘诀
**Laravel 框架简介:** Laravel是PHP的优雅Web开发框架,以其简洁语法、强大功能和良好开发者体验闻名。它强调代码的可读性和可维护性,加速复杂应用的构建。基础步骤包括安装PHP和Composer,然后运行`composer create-project`创建新项目。Laravel的路由、控制器和Blade模板引擎简化了HTTP请求处理和视图创建。模型和数据库迁移通过Eloquent ORM使数据库操作直观。Artisan命令行工具、队列、事件和认证系统进一步增强了其功能。【6月更文挑战第26天】
21 1
|
18天前
|
PHP 开发者
PHP框架中Laravel排名?
【7月更文挑战第2天】PHP框架中Laravel排名?
13 0
|
1月前
|
安全 前端开发 测试技术
安全开发-PHP应用&模版引用&Smarty渲染&MVC模型&数据联动&RCE安全&TP框架&路由访问&对象操作&内置过滤绕过&核心漏洞
安全开发-PHP应用&模版引用&Smarty渲染&MVC模型&数据联动&RCE安全&TP框架&路由访问&对象操作&内置过滤绕过&核心漏洞
|
2月前
|
设计模式 前端开发 PHP
【PHP开发专栏】Laravel框架快速上手
【4月更文挑战第30天】本文介绍了Laravel,一个流行的PHP Web框架,以其优雅语法和简洁设计受开发者喜爱。内容分为三部分:1) 环境准备与项目创建,包括安装Composer和使用Laravel安装器创建新项目;2) 基本概念和核心组件,涉及路由、控制器、模型和视图的使用;3) 进阶功能与实战应用,如用户认证、表单验证和邮件发送。通过学习,读者可快速上手Laravel,进行高效Web应用开发。
|
2月前
|
缓存 中间件 PHP
【PHP开发专栏】PHP框架中的路由与中间件
【4月更文挑战第29天】本文探讨了PHP框架中的路由和中间件概念。路由负责将HTTP请求映射到控制器方法,提供灵活的请求处理和URL管理。中间件则是在请求处理前后插入的代码,用于实现如身份验证、日志等功能,与业务逻辑解耦。通过Laravel框架的示例展示了如何定义路由和创建中间件,以实现代码的模块化和可维护性。