Jednou z novinek v PHP 5 jsou statické proměnné v definici třídy. Používají se takto:

class Foo {
  static $bar = 10;

}

Dnes se mi ale podařilo dosáhnout stejné funkčnosti i v PHP 4. Stojí za tím pekelná finta, ale funguje naprosto spolehlivě:

class Foo {
  // toto je zatím obyčejná proměnná
  var $bar = 10;


  function Foo() {
	static $bar;

	  // inicializace na výchozí hodnotu
	if (!isset($bar)) $bar = $this->bar;

	  // a tady je ona finta
	$this->bar = & $bar;
  }

}

$foo1 = new Foo();
$foo1->bar = 'La Trine';

$foo2 = new Foo();
echo $foo2->bar; // vypíše La Trine

Tož tak, no.