Referencing different static members in inheriting classes

From: Date: Tue, 15 Mar 2005 09:07:10 +0000
Subject: Referencing different static members in inheriting classes
Groups: php.general 
Request: Send a blank email to php-general+get-210749@lists.php.net to get a copy of this message
Hi, In the static function "toHtml_table_heading" I want to use a static array $fields, which has different content for each implementation (sub-class) My first trial was to use self::$fields[] to access this array, but this only sees the member of DBTable (the class where it is been used, not the inherited one). My second trial was to pass the classnmae thru $classname and to access the correct $fields with $classname::$fields, but that doesn't seem to work either. // Parent class abstract class DBTable { static protected $fields = array(); static function toHtml_table_heading($classname) {
       $fields = $classname::$fields;
	                // ^== syntax error,
// unexpected // T_PAAMAYIM_NEKUDOTAYIM (*)
      //...
} //... } // Child class class DBImplementation extends DBTable { public function intializeClass() {
     self::$fields[] = new Object(1);
     self::$fields[] = new Object(2);
} function __construct() {
     intializeClass()
} } Thankyou, André -- (*) From Stephen Johnson: `T_PAAMAYIM_NEKUDOTAYIM' => It's Hebrew -- it means twice colon.

« previous php.general (#210749) next »