如何检测当前的 URL 或者路由名称?

Laravel

在日常的开发中,我们常会需要通过校验当前 URL 或路由来显示或隐藏对应元素和执行对应的操作,接下来的内容将会展示几种实现方式。

1. 检查 URL 是否为 X

简单来说,就是你需要检查当前 URL 是否为一个特定的值,然后展示需要展示的内容。

在控制器中:

if (\Request::is('companies')) { 
  // 展示相应的菜单或其他内容
}

在 Blade 模板文件中 – 操作基本一致:

@if (\Request::is('companies'))  
  相应的菜单
@endif

2. 检查 URL 是否包含内容 X

举一个稍复杂的例子, Request::is() 方法允许传入一个用于模式匹配的参数,如下所示:

if (\Request::is('companies/*')) { 
  // 将会匹配 URL /companies/999 or /companies/create
}

3. 使用路由的命名进行检查

你们可能知道,每个路由都能在 routes.php 文件中按照下面的方式进行命名:

Route::get('/companies', ['as' => 'comp', function () {
  return view('companies');
}]);

那么如何知道当前的路由是否为 ‘comp’ ? 答案很简单:

if (\Route::current()->getName() == 'comp') {
  // 我们匹配到了正确的路由!
}

以上就是三种用于检查当前 URL 或者路由的方法。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://laraveldaily.com/how-to-check-cu...

译文地址:https://learnku.com/laravel/t/38908

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!