Ciekawe. To czemu kod:
<?php
class T {
public function __construct($c) {
$this->c=$c;
}
}
$a = &new T(4);
$b = &new T(424);
$c = &new T(4);
echo spl_object_hash
($a).PHP_EOL
; echo spl_object_hash
($b).PHP_EOL
; echo spl_object_hash
($c).PHP_EOL
; ?>
zwraca
Kod
5a95b7e0930495e63c18101d2eaf259b
200d3e9bb016fb05ed0f197c725e9ed4
eef9a8391d7d3b916457be1bd367f999
Ciekawy ten Singleton. Jak nie wiesz co piszesz to nie wypowiadaj się.
Jest to konstrukcja z przypisaniem przez referencję - wymagane w PHP4 z powodu obsługi obiektów (a dokładniej przypisań) przez PHP4. Jeśli w PHP4 użyjesz = bez & to obiekt zostanie skopiowany - zostanie utworzona nowa z identycznymi (skopiowanymi) właściwościami.
W PHP5 obiekty są domyślnie przypisywane przez referencję, tak więc nie musisz używać &.