I am trying to access static member of a class.
my class is:
class A
{
public static $strName = 'A is my name'
public function xyz()
{
..
}
..
}
//Since I have bunch of classes stored in an array
$x = array('A');
echo $x::$strName;
I am getting error while printing. How can I print ‘A is my name’
If
Ais a class, you can access it directly viaA::$strName.Update:
Depending on what you have inside your array, whether its what I like to define as class objects or class literals could be a factor. I distinguish these two terms by,
If you go the class literals approach, then using a
foreachloop with PHP5.2.8 I am given a syntax error when using the scope resolution operator.So then I thought about using the class objects approach, but the only way I could actually output the static variable was with an instance of an object and using the
selfkeyword like so,And then invoke that method when iterating,
Which at that point why declare the variable
staticat all? It defeats the whole idea of accessing a variable without the need to instantiate an object.In short, once we have more information as to what you would like to do, we can then go on and provide better answers.