2016-03-25 5 views
0

を使用して、クラスの親クラス定数アウト側の値にアクセスするための
子クラスbを初期化する
子クラスオブジェクト$ test
を使ってクラスの親クラス定数の値にアクセスしたい場合はどうすればいいのですか?私は2.4.0は、どのように私はいくつかの値を持つ定数と同じ持って、両方のB親<br> クラスの子<br> クラスAとしてBおよびクラスとして二つのクラス<br> クラスAを持っている子クラス

<?php 
class a{ 
    const version='2.4.0'; 
    public function childClassVersion(){ 
     echo static::version; 

    } 
    public function parentClassVersion(){ 
     echo self::version; 

    } 
} 
class b extends a{ 
     const version='2.5.0'; 
} 
$test=new b; 
echo $test::version; // output 2.5.0 
echo "<br>"; 
echo b::version; // output 2.5.0 
echo "<br>"; 
echo a::version; //output 2.4.0 
echo "<br>"; 
$test->childClassVersion(); // output 2.5.0 
echo "<br>"; 
$test->parentClassVersion(); // output 2.4.0 
echo "<br>"; 
+0

ご迷惑をおかけして申し訳ございません。あなたの問題は不明です。あなたはあなた自身を見せてくれるので、両方の値にアクセスすることができますので、何が欠けていますか? – arkascha

+0

子クラスオブジェクトへのアクセス親クラス定数 – daulat

+0

あなたは 'parent :: version'を探しているのでしょうか? – arkascha

答えて

1

欲しいもの例えば$test::version //出力2.5.0については、
私は、これはあなたが探しているものであるコメントでの議論から確かではないけど、多分

<?php 
class a{ 
    const version='2.4.0'; 
    public function childClassVersion(){ 
     return static::version; 
    } 
} 
class b extends a{ 
    const version='2.5.0'; 
    public function parentClassVersion(){ 
     return parent::version; 
    } 
} 
$test=new b; 
var_dump($test::version); // output 2.5.0 
var_dump(b::version); // output 2.5.0 
var_dump(a::version); //output 2.4.0 
var_dump($test->childClassVersion()); // output 2.5.0 
var_dump($test->parentClassVersion()); // output 2.4.0 
+0

OPは親クラス定数( '2.4.0')を出力するために' $ test :: version'が必要です。 –

+0

@u_mulderはい、質問は今編集されました。 – arkascha

+0

$ testオブジェクトを使って親クラスの定数値を取得する...可能ではないと思う。 – daulat