codeigniter4 / codeigniter4/CodeIgniter4

AutoRouterImproved extendability

未关闭
#7,364 4 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
enhancement
主要语言
PHP
星标
6k
派生
2k
平均合并
1 天 11 小时
30 天内合并 PR
73

描述

In the current state, the `AutoRouterImproved` is not thought to be replaced by an App-Specific service and to be extended on.

>[kenjis](https://github.com/codeigniter4/CodeIgniter4/issues/5889#issuecomment-1476185230): Because it is better to implement the interface, not extending the class.

In my case, I need to change the controller & method name which is already implemented in the router.
Re-Implementing the `AutoRouterImproved` to do that seems kinda ridiculous.

Two approaches come to my mind:

1. The specific solution: Use the "parent" routers methods for finding the method and controller name, this prevents duplicate code and allows for a little app-specific behavior.
2. The generic solution: Make the auto routers replaceable by app-specific services
1. Optional: make both extendable, so we don't have to write ridiculous amounts of code for small changes.

贡献指南

打开贡献指南

调研方向

首先阅读 AutoRouterImproved 以及它目前用于查找控制器和方法名称的父路由器方法。比较两种提议的方案:复用父路由器的行为,或通过应用特定的服务使自动路由器可替换且可扩展。完成的标准是确定一种设计,并实现无需复制路由器即可更改控制器和方法名称的功能。

由索引模型根据 Issue 内容生成。

评估

技术栈
php
领域
backend
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。