Autor Zpráva
karel
Profil *
Ahoj, programátoři!
mám takový dotaz, snad jen potřebuji potvrdit svoji dedukci (doufám :)):
******************************
když je nějaká třída napsaná podle vzoru Singleton, asi takhle:


Class Trida{
public $vlastnost;

private function __cosntruct(){}
public function getInstance() {
static $instance;

if (is_object($instance) == true) {
return $instance;
}

$instance = new Trida;
return $instance;
}
}


a vytvořím istanci $prom1 a přiřadím hodnotu vlastnosti $vlastnost = "neco",
a vytvořím instanci $prom2, tak mi zůstanou obě proměnné funkční a obě "ukazují" na tu samou instanci třídy $Trida a volání
echo $prom1->vlastnost
a
echo $prom2->vlastnost
obě shodně vypíší: "neco"

//konec prvního dotazu :)

a ještě jeden dotaz k tématu: myslel jsem, že privátní konstruktor zabrání nechtěnému vytvoření objeku, ale volání $promenna = new Trida() funguje ... jak to?

//konec druhého dotazu
Oswald
Profil
1. - ano
2. - protože tam máš překlep: "__cosntruct" vs. "__construct"
karel
Profil *
jojo, to jsem ale trouba. hloupého trkni ... nebo jak to je :)
díky, K.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0