我有一个父类,它有一个常量ID定义,但我有X个孩子具有相同的常数ID名称定义,具有不同的值。如何打印儿童和父母课程中发生变化的常量?
如何在父级的方法中显示常量的值,而不必覆盖每个孩子上的代码?
Idk如果我表达的权利,所以我告诉你我的意思的例子。
这是我的父类的简单例子(存在缺失的用途,命名空间,等等。但你会明白我的意思):
class RootLenSkiStatus extends AbstractSkiStatus
{
const ID_SKI = 20;
protected function getSnowType()
{
$snowtype = 'X';
switch ($snowType) {
case 'X':
$snowType = SnowType::SNOW_TYPE_X;
break;
default:
throw new \Exception('Method getSnowType from ID_SKI ' . static::ID_SKI . ' returns new Snowtype, not defined: ' . $snowType);
break;
}
$this->dto->setSnowType($snowType);
}
}
而且还有我的孩子中的一个简短的例子类:
class RootmadnessSkiStatus extends RootLenSkiStatus
{
const ID_SKI = 40;
}
如果我进入到“local.blablabla /检查-ID/40”,称与“静:: ID_SKI”的常量,它会回到我40了,如果我更改为40 20,它也会让我回到40。但是,如果我输入'local.blablabla/check-id/40',用'self :: ID_SKI'调用const,它会返回我20,如果我改变20为20,显然,我会返回20。
我有一个以上的孩子,它只从一个孩子返回一个静态值,它不会改变。
我想你明白我的意思了..你能帮我吗?
谢谢;)。
更新:
我的坏,我使用的PHP版本是5.5.9。
这个问题是缺少PHP的使用版本,它是非常重要的在这里。 – JustOnUnderMillions
@JustOnUnderMillions新增了,我的坏,ty记住它给我^^。 – LastFit