Re: runtime access to static variable

From: Date: Tue, 16 Dec 2008 21:29:20 +0000
Subject: Re: runtime access to static variable
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-284688@lists.php.net to get a copy of this message
Jack Bates wrote:
How do I access a static variable when I do not know the name of the class until runtime? I have the following example PHP: ket% cat test.php <?php class Test { public static
    $STEPS = array(
      'foo',
      'bar');
} $className = 'Test'; var_dump($className::$STEPS); ket% Unfortunately when I run it I get: ket% php test.php Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /home/jablko/trash/test.php on line 13 ket% I can call a static function using call_user_func(array($className, 'functionName')), and I can access a class constant using constant($className.'::CONSTANT_NAME'). How do I access a static variable?
this is also a not great but usable, stricter and faster solution: <?php class TestClass { public static $STEPS = array( 'foo' , 'bar' ); public function steps() { return self::getSteps(); } public static function getSteps() { return self::$STEPS; } public static function setSteps( $steps ) { self::$STEPS = $steps; } } $testClass = new TestClass; print_r( $testClass->steps() ); ?> really though why..?

« previous php.general (#284688) next »