我有一个奇怪的事情:
<?php
class LW_Base{
const MULTIPLE = 'LW_Base';
public static function name(){
return strtolower(static::MULTIPLE);
}
}
class LW_Extend extends LW_Base{
const MULTITPLE = 'LW_Extend';
}
$t = new LW_Extend();
echo $t::name().'==LW_Extend';
?>
这是一个小(350 行 - NCLOC)PHP 项目的代码片段。输出应该是“lw_extend==LW_Extend”,但实际上是“lw_base==LW_Extend”。
我发誓:在另一个更大的项目(1155 行 - NCLOC)中,更复杂的(命名空间、类层次结构、很多功能......)这是有效的。
问题:我做错了什么/不稳定?如果某事工作一次,它必须工作两次。
请:我真的需要一个信息。我正在寻找一个星期。我认为解决方案必须简单,因为它适用于另一个项目(我实际上无法粘贴有关该其他项目的信息,抱歉)
问候,并感谢您的每一次发帖,奥利