orbeji / unused-routes
Requires
- php: >=8.1
- symfony/console: ^5.4 || ^6.4 || ^7.0
- symfony/flex: ^2.4
- symfony/framework-bundle: 5.4 || ^6.4 || ^7.0
- webmozart/assert: ^1.11
Requires (Dev)
- ergebnis/composer-normalize: ^2.41
- nyholm/symfony-bundle-test: ^3.0
- phpstan/extension-installer: ^1.3
- phpstan/phpstan: ^1.10
- phpstan/phpstan-symfony: ^1.3
- phpunit/phpunit: ^10.5.5
- rregeer/phpunit-coverage-check: ^0.3.1
- squizlabs/php_codesniffer: ^3.8
- symfony/phpunit-bridge: ^7.0.1
This package is auto-updated.
Last update: 2024-09-19 22:44:43 UTC
README
未使用路由
关于项目
本项目是一个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
(返回顶部)