Hmm, not sure if I followed you there, but if I did, I think you're asking about a) references (the & signed being used there), and b) Paamayim Nekudotayim, aka the scope resolution operator used to access static methods of a class, or to (as is allowed for some reason) simply access a public method of that class without creating a new instance of said class.
PHP Code:
class staticReference
{
static $var;
static function setVar ($var) {
self::$var = $var;
}
} // staticReference
staticReference::setVar("dude!");
$reference =& staticReference::$var;
echo staticReference::$var;
echo $reference;
staticReference::setVar("totally.");
echo $reference;
$reference = "whoah.";
echo staticReference::$var;
If I gathered what you were asking correctly, that should be a good demonstration of what's going on. If not, I probably look pretty dumb right now.
staticReference has two parts, a static variable and a method that you can use to set that variable. Both are declared static, so are meant to be used with the scope resolution operator (::), without having to call an instance of the class into existence. Notice how the methods are all being called, but a
new statement has never been made?
As for the reference, it creates a pointer of sorts to the original data. If you make a reference to staticReference::$var, whenever you change staticReference::$var, so does the reference you created since it's pointing to the original data, and not a copy of it. Same goes visa versa, it's all accessing the same data.
Did that help at all? It's early here.
-m