2016-03-25 13 views
0

kullanılarak sınıfı üst sınıf sabit üzerinden yan değere erişmek için
Ve ben çocuk sınıfı b
'u başlatıyorum. Şimdi sınıfın ana sınıfının sabit değerine erişmek istiyorsanız, child class nesnesini kullanıyorum $ test
Bunu nasıl yapabilirim? Ben yorumlarında tartışmadan belli değilim 2.4.0nasıl Bazı değerler sürekli aynı olması, her iki b ana <br> Sınıf çocuk <br> Sınıfı olarak b ve sınıf olarak iki sınıf <br> Sınıf a sahip alt sınıf

<?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

Üzgünüz, sorununuz nedir açık değil. Kendinizi gösterdiğiniz gibi her iki değere de girebilirsiniz, yani eksik olan nedir? – arkascha

+0

child class nesne erişimini kullanarak üst sınıf sabit – daulat

+0

Belki de "parent :: version' için arıyorsun?" – arkascha

cevap

1

ne istediğimi ör $test::version // çıkış 2.5.0 için
, fakat belki Bu aradığınız budur:

<?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, ana sınıf sabitini ('2.4.0') çıkarmak için' $ test :: version' istiyor. –

+0

@u_mulder evet, soru şimdi düzenlenmiştir. – arkascha

+0

Ebeveyn sınıfı sabit değerini elde etmek için $ test nesnesini kullanın ... Bu olası – daulat

İlgili konular