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

Laravel 8中如何为路由添加description自定义描述信息

Laravel 8.83.17 路由添加自定义信息实现方法

完全支持你期望的链式调用写法,不需要修改框架源码,用Laravel原生提供的路由宏能力就能实现,8.83.17版本实测可用,路由缓存场景下也不会失效。

  • 核心原理是通过宏给路由类追加自定义方法,把额外信息存在路由原生的action属性数组中,框架本身就支持在action中存储自定义配置。

具体实现

  1. 打开app/Providers/AppServiceProvider.php,在boot方法中注册宏:
use Illuminate\Routing\Route;

public function boot()
{
    Route::macro('description', function (string $description) {
        $this->action['description'] = $description;
        return $this;
    });
}
  1. 注册完之后,你预期的路由定义代码可以直接运行,不需要做任何调整:
Route::get('/home', 'IndexController@index')->name('home')->description('Test');

读取自定义的description字段

// 获取当前访问路由的描述
$desc = request()->route()->getAction('description');

// 遍历全量路由批量获取描述
foreach (Route::getRoutes() as $route) {
    $routeDesc = $route->getAction('description');
}

注意事项

  • 该实现兼容php artisan route:cache命令,自定义字段会被正常写入路由缓存文件,不会出现缓存后丢失的问题。
  • 如果需要添加其他自定义字段,比如权限标识、菜单图标这类,按照相同格式追加宏定义即可,不需要额外做兼容处理。

内容的提问来源于stack exchange,提问作者Ricardo Afonso

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 22:27:34