I'm trying every variation of the following to refer to a static property:
get_called_class()::$$prop
I've tried this:
${get_called_class()}::$$prop
I've tried many things, but can't seem to get it.
I know I can just do this:
$className = get_called_class();
$className::$$prop
BUT, that means an extra line of code. Surely there must be a way for the language to make this work on the same line. Anyone have a solution?
(By the way, the static property is protected, so it fails with ReflectionClass::getStaticPropertyValue.)
Without understanding any additional context here, you don't need to actually invoke
get_called_classto poke at LSB-resolved static properties. Instead, use thestatickeyword to automagically resolve the currently called static class name.Example from the PHP interactive prompt:
php > include '/tmp/get_called_class.php'; php > A::test('foo'); from a php > B::test('foo'); from b php > C::test('foo'); from c php >