Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to refer to a static constant member variable in PHP

I have a class with member variables. What is the syntax in PHP to access the member variables from within the class when the class is being called from a static context?

Basically I want to call a class method (but not create a new object), but when the class method is called, I want a handful of static constant variables to be initialized that need to be shared among the different class methods.

OR if there's a better way to do it then what I'm proposing, please share with me (I'm new to PHP) Thanks!

eg.

class example
{
    var $apple;

    function example()//constructor
    {
        example::apple = "red" //this throws a parse error
    }

}
like image 476
justinl Avatar asked Oct 07 '09 01:10

justinl


2 Answers

For brevity sake I will only offer the php 5 version:

class Example
{
    // Class Constant
    const APPLE = 'red';

    // Private static member
    private static $apple;

    public function __construct()
    {
        print self::APPLE . "\n";
        self::$apple = 'red';
    }
}
like image 166
Chris Kloberdanz Avatar answered Oct 20 '22 10:10

Chris Kloberdanz


Basically I want to call a class method (but not create a new object), but when the class method is called, I want a handful of static constant variables to be initialized that need to be shared among the different class methods.

Try this

class ClassName {
  static $var;

  function functionName() {
    echo self::$var = 1;
  }
}

ClassName::functionName();
like image 29
lemon Avatar answered Oct 20 '22 08:10

lemon