I want to provide a set of static functions in a superclass that work
with class constants defined in a decendant of that class.
Unfortunately I've run into a snag with this idea. Example:
class SuperClass
{
const CNST = 'Super class';
public static function getCnst ()
{
return self::CNST;
}
}
class SubClass extends SuperClass
{
const CNST = 'Sub class';
}
echo (SubClass::getC nst ());
I'd want the above code tou output "Sub Class", but instead it outputs
"Super class".
It would sem that static functions can't work with overridden
constants in subclasses, or am I missing something?
with class constants defined in a decendant of that class.
Unfortunately I've run into a snag with this idea. Example:
class SuperClass
{
const CNST = 'Super class';
public static function getCnst ()
{
return self::CNST;
}
}
class SubClass extends SuperClass
{
const CNST = 'Sub class';
}
echo (SubClass::getC nst ());
I'd want the above code tou output "Sub Class", but instead it outputs
"Super class".
It would sem that static functions can't work with overridden
constants in subclasses, or am I missing something?
Comment