如何以可重用的方式将字符串提取到常量

时间:2017-09-29 15:52:46

标签: php sonarqube constants

声纳告诉我,我应该用一个常量替换一个经常使用的字符串(> 2),以避免产生严重的代码气味。

我在项目中使用sonata admin,并且有像这样的代码行

->add('test123', null, ['label' => 'Test label'])

经常使用“标签”这个词,但由于奏鸣曲管理员的设计。

添加字段的模式对于我的项目中的所有管理类都是相同的。所有包含“标签”字的管理员至少一次......

但我不想为每个类写几乎相同的常量,包含相同的值。

我不能在特征中使用常量。我不能在接口中使用常量。我只能在父类中使用常量。但我继承的父类是供应商文件夹中的一个类,我无法改变。

看起来像这样

class TestAdmin extends AbstractAdmin 
{
...
}

其中AbstractAdmin是供应商,TestAdmin是我自己实现的类。

在TestAdmin和AbstractAdmin之间添加另一个类是唯一且最干净的方法吗?在我目前的意见中,我想避免一个太大的继承树...但如果这是一个很好的做法,那么我会改变主意......谢谢

0 个答案:

没有答案