定制 sbine/route-viewer 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

sbine/route-viewer

Composer 安装命令:

composer require sbine/route-viewer

包简介

A Laravel Nova tool to view your registered routes.

README 文档

README

This Nova tool adds a route viewer section to the Nova sidebar.

It's like php artisan route:list for your browser. Supports sorting and filtering.

screenshot of Laravel Nova Route Viewer tool

Installation

Install via Composer:

composer require sbine/route-viewer

Register the tool in app/Providers/NovaServiceProvider:

public function tools()
{
    return [
        new \Sbine\RouteViewer\RouteViewer,
    ];
}

You can customize the translations by publishing them to your local folder resources/lang/vendor/route-viewer:

php artisan vendor:publish --provider="Sbine\RouteViewer\ToolServiceProvider"

Custom Columns

You can add custom columns to the route viewer table. Register them in your NovaServiceProvider or AppServiceProvider:

use Sbine\RouteViewer\RouteViewer;
use Sbine\RouteViewer\Column;

// Simple per-route resolver
RouteViewer::addColumn(
    Column::make('Domain', 'domain')
        ->using(fn (\Illuminate\Routing\Route $route) => $route->getDomain() ?? '')
);

// Batch resolver (efficient for DB lookups, avoids N+1)
RouteViewer::addColumn(
    Column::make('Hits', 'hits')
        ->usingBatch(function (array $routes): array {
            $hits = DB::table('route_hits')
                ->whereIn('uri', array_column($routes, 'uri'))
                ->groupBy('uri')
                ->pluck(DB::raw('count(*)'), 'uri');

            return array_map(fn ($r) => $hits[$r['uri']] ?? 0, $routes);
        })
);

// Non-sortable column
RouteViewer::addColumn(
    Column::make('Notes', 'notes')
        ->using(fn ($route) => config("route-notes.{$route->uri}", ''))
        ->sortable(false)
);

Custom columns are automatically searchable and sortable. Use ->sortable(false) to opt out of sorting.

Contributing

After updating frontend assets, rebuild for production:

npm install
npm run prod

Note: This project uses Laravel Mix 6, which requires Node.js 20 LTS. It is not compatible with Node.js 25+.

统计信息

  • 总下载量: 247.49k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 58
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 57
  • Watchers: 3
  • Forks: 11
  • 开发语言: Vue

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-08-24

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固