You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP Laravel中如何检测当前路由是否包含指定关键词(如students)

Laravel 判断当前路由包含指定关键词实现

你可以直接用Laravel内置的字符串辅助方法补全判断逻辑,框架已经处理了空值兼容等边界问题,比原生PHP字符串匹配更稳妥。

  • 最简写法(兼容Laravel 6及以上版本,无需额外引入类)
    直接用全局str()辅助函数链式调用contains方法,只要当前路由名任意位置包含students就会匹配成功,完全覆盖students/index、students/create、students/edit等所有相关路由场景:
if ( str(Route::currentRouteName())->contains('students') )
// 检测到路由包含students关键词,在此处执行页面标题翻译、同义词配置等业务代码
endif
  • 静态类调用写法(兼容所有Laravel版本)
    先在文件头部引入字符串工具类,再调用静态方法判断:
// 文件头部引入类
use Illuminate\Support\Str;

// 判断逻辑
if ( Str::contains(Route::currentRouteName(), 'students') )
// 执行业务代码
endif
  • 精准匹配优化
    如果存在类似other/students这类非预期路由,不想被误命中,可以换成前缀匹配方法,仅匹配students模块下的路由:
if ( str(Route::currentRouteName())->startsWith('students') )
// 仅命中以students开头的路由名
endif

补充说明:如果你需要判断的是实际访问的URL路径(而非命名路由的名称)是否包含students,只需要把判断条件里的Route::currentRouteName()替换为request()->path()即可,其余逻辑不变。

内容的提问来源于stack exchange,提问作者anas tair

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 18:39:28