首页
学习
活动
专区
圈层
工具
发布

Laravel 路由使用入门

GET 或 POST 请求: Route::match(['get', 'post'], '/', function () {}); 3、复杂业务逻辑处理 当然,传递闭包并不是定义路由的唯一方式,闭包简单快捷...); 这段代码的含义是将针对 / 路由的 GET 请求传递给 App\Http\Controllers\WelcomeController 控制器的 index 方法进行处理。...4、路由参数 如果你定义的路由需要传递参数,只需要在路由路径中进行标识并将其传递到闭包函数即可: Route::get('user/{id}', function ($id) { return...$name; })->where('name', '[A-Za-z]+'); Route::get('page/{id}/{slug}', function ($id, $slug) { return...路由命名很简单,只需在原来路由定义的基础上以方法链的形式新增一个 name 方法调用即可: Route::get('user/{id?}'

3.8K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    # 3分钟短文:Laravel路由注册,你必须掌握的“动词”!

    在路由文件 routes/web.php 内注册一个get请求的路径: // routes/web.php Route::get('/', function () { return 'Hello...大家注意,get这个静态方法,是一个动词,声明了该请求的方式是 GET 请求。...动态路由需要用户提供更多个输入参数,所以在规划路由上,可以使用占位符接收路由地址的数据,比如这样写: Route::get('users/{id}/friends', function ($id) {...// }); 位置参数 id 在正确传入数值之后,就会传递到指定的方法内,在此例是 $id。...如果路由内声明了多个位置参数,且都需要验证,那么在 where 方法内传入参数名 + 正则的数组即可: Route::get('posts/{id}/{slug}', function ($id, $slug

    96422

    3分钟短文:Laravel路由注册,你必须掌握的“动词”!

    在路由文件 routes/web.php 内注册一个get请求的路径: // routes/web.php Route::get('/', function () { return 'Hello...大家注意,get这个静态方法,是一个动词,声明了该请求的方式是 GET 请求。...动态路由需要用户提供更多个输入参数,所以在规划路由上,可以使用占位符接收路由地址的数据,比如这样写: Route::get('users/{id}/friends', function ($id) {...// }); 位置参数 id 在正确传入数值之后,就会传递到指定的方法内,在此例是 $id。...如果路由内声明了多个位置参数,且都需要验证,那么在 where 方法内传入参数名 + 正则的数组即可: Route::get('posts/{id}/{slug}', function ($id, $slug

    61720

    LaRecipe模板注入漏洞(CVE-2025-53833)深度剖析:从SSTI到RCE的完整攻击链分析

    任意代码执行:攻击者可以通过注入特定的模板语法(如 {{ system('id') }})来执行操作系统级别的命令。...权限提升:在Web服务器权限的基础上,攻击者可能进一步利用获得的凭证或系统漏洞,提升权限甚至获得服务器根访问权限。...核心问题在于,LaRecipe 将用户可控的数据直接传递给了模板引擎进行解析,而没有任何过滤。...假设一个易受攻击的路由是 /docs/{slug},攻击者可以尝试将 slug 参数设置为一个恶意的模板表达式:GET /docs/{{system('whoami')}} HTTP/1.1Host:...探测:攻击者向文档路由(如 /docs/{{7*7}})发送请求,如果响应中包含 49,则确认存在模板注入漏洞。利用:确认漏洞后,攻击者使用更复杂的模板语法来执行系统命令或读取文件。

    11010

    python-Django-URL 路由(二)

    第三个URL模式是“post/slug:slug/”,它将请求映射到我们之前定义的post_detail视图函数,并使用一个命名捕获组来表示文章的slug。...在这个示例中,我们将这些视图函数定义在名为views.py的文件中:: from django.shortcuts import render, get_object_or_404, redirect...如果请求方法是GET,视图函数将渲染一个包含创建新文章表单的HTML模板。 第二个视图函数是post_detail,它显示单个博客文章的详细信息。...视图函数获取文章的slug,并使用get_object_or_404函数从数据库中获取文章对象。然后,视图函数将文章对象传递给包含文章详细信息的HTML模板。...如果请求方法是GET,视图函数将渲染一个包含编辑现有文章表单的HTML模板。 最后一个视图函数是PostList,它显示所有博客文章的列表,并允许用户创建新的博客文章。

    1.4K20

    04路由层反向解析-名称空间-路径转换器

    一堆 K:v键值对换行 \r\n请求体数据# 如果是 GET 请求 ---> 携带的请求参数 在 请求首行 中 http:127.0.0.1:8000/?...# 获取到 get 请求携带的请求参数# request.GET.get 获取到单一键值对数据# request.GET.getlist 获取到 一个键对应多个值的数据# 【3】request.POST...': '1'} # args : 按照位置传递参数 # kwargs :按照关键字传递参数 id = kwargs.get("id") # http://127.0.0.1:8000...P<id>\d+)/ # return redirect(reverse("parse_name_redirect", args=(id,))) # 如果是按照关键字传递参数建议...# 【2】● int **# ○ 匹配 0 或任何正整数。返回一个 int 。# 【3】● slug# ○ 匹配任意由 ASCII 字母或数字以及连字符和下划线组成的短标签。

    23100

    Django获取URL中的数据

    在此之前,需要说明的是,在URL中携带数据的方式一般是前端发起的GET请求,至于为什么GET请求不在请求体中携带参数,可以参考这篇文章:关于在GET请求中使用body URL路径参数 使用path函数...:slug>/', views.article_detail), ] 关于这段URL的解释说明,直接参考Django官方文档即可。...,正则表达式进行匹配之后,捕获的参数都作为字符串传递给视图函数(视图类)。...URL关键字形式 通常,除了在URL路径中传递数据,也可以在URL参数中进行数据传递。例如: http://www.demo.com/index?...a=1&a=2&b=3&c=4 页面显示如下所示: 查询字符串不区分请求方式,即假使客户端进行POST方式的请求,依然可以通过request.GET获取请求中的查询字符串数据。

    7.9K30

    WordPress 6.0 提升了分类模式的性能

    查询缓存只缓存 Term ID 分类模式查询的缓存修改成只缓存 Term ID 而不是整个 Term 对象,这样存储在缓存中的对象将会更加的小,如果使用 Memcached 这类外部缓存,可以更省空间。...因为只缓存 Term ID,那么下次从缓存中获取所有 ID 的时候,WordPress 会调用 _prime_term_cache 函数,检测对应 Term 是不是在缓存中,如果不在,它会一次把所有 Term... get_the_terms 也会在内存中准备好 Term 缓存,所以在大多数情况下,这些优化都会减少分类模式相关数据表的查询。...改进查询缓存 key 生成规则 如上所述,现在所有查询只获取 Term ID,所以很多相似的查询,它们缓存的内容都是相同的,比如使用 get_terms 去获取所有分类信息,第一次获取 slug 字段,...另外对传递给 WP_Term_Query 的查询参数的处理也进行了优化,比如 slug 字段可能是字符串,也可能是数组,现在统一转换成数组,这样无论你传递什么类型的参数,缓存的 keys 相同的可能性更高

    53930

    网站功能——添加文章编辑页面,支持 markdown 编辑器实时预览编辑

    首先应该创建两个请求接口:一个 GET 请求用来展示编辑页面,可以直接参考文章页面的类视图实现,这里需要进行权限控制,只有文章的作者和超管可以打开页面;另一个是 POST 请求接口,用来更新文章的 body...= request.POST.get('article_slug') article_body = request.POST.get('article_body')...try: article = Article.objects.get(slug=article_slug) # 检查当前用户是否是作者...这个逻辑也很简单,就是从请求体里面提取 article_slug 和 article_body 然后判断是作者或者管理员就更新文章,并且返回文章页面的地址。...创建 ajax 调用函数 我单独定义了一个 js 文章来做文章的更新,就是很简单的 ajax 请求,在我的工具应用里面大量使用过,所以这种函数很普遍。

    96810

    启用WP Super Cache纯代码版本之后的一些优化措施

    if(is_page()){ $post_data = get_post($post->ID, ARRAY_A); $slug = $post_data['post_name']; echo...": post_id,             "slug": page_slug,             },         //ajax对象文件:cache.php,即上一篇文章中的静态缓存的php...③、新增触发按钮 在文章、单页页面,合适的位置新增一个按钮或超链接,然后将其 id 改为 clean 即可实现点击该按钮时清理当前页面缓存,比如张戈博客将一个图片链接放到了百度分享工具条上(实现全局清理后...return $contents; } 四、发布时删除缓存 针对第⑨条: 这个问题其实很好解决,只要使用 WordPress 钩子在发布或更新文章时,调用删除缓存函数即可,具体如下: //发布或更新文章时删除文章...function DelPageCache($post_ID){     $post_data = get_post($post->ID, ARRAY_A);     $slug = $post_data

    1.6K70
    领券