orbeji/unused-routes

安装: 61

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

1.0 2024-01-19 20:49 UTC

This package is auto-updated.

Last update: 2024-09-19 22:44:43 UTC


README


未使用路由

报告错误 · 请求功能

Tests Static analysis Symfony & php compatibility

关于项目

本项目是一个Symfony包,它可以提供关于应用程序中(未)使用路由的信息。有了这些信息,您可以安全地从代码中删除未使用的路由。

(返回顶部)

入门指南

安装

请确保全局已安装Composer,如Composer文档中的安装章节所述。

使用Symfony Flex的应用程序

打开命令行,进入项目目录,然后执行以下命令

$ composer require orbeji/unused-routes

不使用Symfony Flex的应用程序

步骤1:下载包

打开命令行,进入项目目录,并执行以下命令以下载此包的最新稳定版本

$ composer require orbeji/unused-routes

步骤2:启用包

然后,通过将其添加到项目config/bundles.php文件中注册的包列表中来启用包

// config/bundles.php

return [
    // ...
    Orbeji\UnusedRoutes\UnusedRoutesBundle::class => ['all' => true],
];

用法

安装后,包将开始注册用户活动。默认情况下,这些活动将被存储在%kernel.logs_dir%/accessed_routes{Ymd}.log文件中

要了解哪些路由未使用,请执行以下命令

php bin/console unused-routes:list

这将显示如下表格

---------------------- ------- ------------- 
  Route                  #Uses   Last access  
 ---------------------- ------- ------------- 
  ux_live_component      0       -            
  admin_index            0       -            
  admin_post_index       0       -            
  admin_post_new         0       -            
  admin_post_show        0       -            
  admin_post_edit        0       -            
  admin_post_delete      0       -            
  blog_rss               0       -            
  blog_index_paginated   0       -            
  blog_post              0       -            
  comment_new            0       -            
  blog_search            0       -            
  security_login         0       -            
  user_edit              0       -            
  user_change_password   0       -            
 ---------------------- ------- -------------

您还可以传递选项--show-all-routes来添加已使用路由的信息

php bin/console unused-routes:list --show-all-routes

这将显示如下表格

---------------------- ------- ------------- 
  Route                  #Uses   Last access  
 ---------------------- ------- ------------- 
  ux_live_component      0       -            
  homepage               4       16/01/2024   
  admin_index            0       -            
  admin_post_index       0       -            
  admin_post_new         0       -            
  admin_post_show        0       -            
  admin_post_edit        0       -            
  admin_post_delete      0       -            
  blog_index             1       06/01/2024   
  blog_rss               0       -            
  blog_index_paginated   0       -            
  blog_post              0       -            
  comment_new            0       -            
  blog_search            0       -            
  security_login         0       -            
  user_edit              0       -            
  user_change_password   0       -            
 ---------------------- ------- -------------

现在,已访问的路由也出现在这里,并带有一些访问次数和最后访问日期的信息。

(返回顶部)

配置

本包中只有两个参数。存储文件的路径和文件名。

unused_routes:
  file_path: '%kernel.logs_dir%'
  file_name: 'accessed_routes.log'

替换日志存储/读取方式

如果您想替换存储日志的方式,例如使用数据库或另一种存储策略,可以创建自己的服务并实现以下接口

<?php

declare(strict_types=1);

namespace Orbeji\UnusedRoutes\Provider;

use Orbeji\UnusedRoutes\Entity\UsedRoute;

interface UsageRouteProviderInterface
{
    /**
     * Everytime a user accesses a route this method is called to store this usage
     */
    public function addRoute(UsedRoute $route): void;

    /**
     * This method aggregates all UsedRoutes by the used route and sums all visits, leaving the timestamp of the last
     * visit
     * @return UsedRoute[]
     */
    public function getRoutesUsage(): array;
}

然后您应该将其添加到您的services.yaml文件中

services:
  Orbeji\UnusedRoutes\Provider\UsageRouteProviderInterface: '@your_own_service'

路线图

  • 每天写入一个日志文件
  • 添加测试
  • 添加管道
    • 检查样式
    • 运行测试
    • 覆盖率检查
    • Phpstan
  • 改进README,包括描述和用法
  • 多个路由可以分配给同一操作,请在结果表中考虑这一点
  • 查看是否可以在安装时自动生成包配置文件
  • 添加更多存储/读取日志的方法
  • 添加配置以替换存储/读取日志的方式

查看开放问题以获取完整的功能提议(和已知问题)列表。

(返回顶部)

贡献

欢迎提交拉取请求。对于重大更改,请先提交一个问题以讨论您想要更改的内容。

请确保根据需要更新测试,并确保所有GitHub Actions都通过。

(返回顶部)

许可证

MIT许可证下分发。

(返回顶部)

联系方式

项目链接:https://github.com/orbeji/unused-routes

(返回顶部)