简体   繁体   English

如何使用子类在类外部访问父类常量的值

[英]how to access value of parent class constant out side of class using child class

I have two classes 我有两节课
Class a as parent A类作为父母
Class b as child B级儿童
Class a and class b both have same constant with some values A类和B类都具有相同的常数,但有一些值
And i initialize child class b 然后我初始化子类b
Now if i want to access value of parent class constant out side of class using child class object $test 现在,如果我想使用子类对象$ test访问类外部的父类常量的值
How can i do that. 我怎样才能做到这一点。
For eg $test::version //output 2.5.0, what i want 2.4.0 例如$test::version //输出2.5.0,我想要2.4.0

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

I am not certain from the discussion in the comments, but maybe this is what you are looking for: 从评论中的讨论中我不确定,但是也许这是您正在寻找的东西:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM