-2

私は奇妙なことを得ました:

<?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)、より複雑な(名前空間、クラス階層、多くの機能など)これは機能しています。

質問: 間違っている/不安定な場合はどうすればよいですか? 何かが 1 回機能する場合、2 回機能する必要があります。

お願い: 本当に情報が必要です. 一週間探しています。別のプロジェクトで機能するため、ソリューションは単純でなければならないと思います(実際には、他のプロジェクトに関する情報を貼り付けることができません、申し訳ありません)

よろしく、そして毎回投稿してくれてありがとう、Oli

4

1 に答える 1