webForumDet fria alternativet
Logga in / Bli medlem

Problem med singleton i factory

PHP

2 svar · 270 visningar · startad av Compusa

Medlem sedan jan. 20023 327 inlägg
Trådstart#1

Varför fungerar inte följande rad och hur ska jag få den att fungera?

return new $dbtype::singleton();

Denna kodrad körs i en factory metod som ska retunera en instans av min klass som är en singleton. Felmeddelande:

Parse error: parse error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /home/plump/domains/plump.se/public_html/test/core/database/DaoFactory.php on line 20

Att retunera en klass som inte är en singleton på följande vis fungerar:

return new $dbtype;
Medlem sedan jan. 20023 327 inlägg
#2

Problemet är "::" när jag anropar metoden singleton(), hur ska jag på ett korrekt sätt kunna anropa dessa.

Medlem sedan jan. 20023 327 inlägg
#3

Jag löste problemet på följande vis:

Problem solved:    					
$dao = call_user_func(array($dbType,'singleton'));
return $dao;

Variabel namn tillåts inte framför "::"

384 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
132 ms — deklarationer (db)
122 ms — hämta statistik (db)
126 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)