18. april 2006 - 22:10
Der er
7 kommentarer
Smarty assign variabler
Spørgsmålet er specifikt på smarty (template engine), men måske folk med lidt forstand på klasser kan hjælpe mig alligevel..... Normalt vil man til nedenstående gøre: $smarty->assign("$key", $val); class AAA { function aaa() { $key = "abc"; $val = "def"; smarty::assign("$val", $key); } } Jeg kalder metoden: $tmp = &New AAA; $tmp->aaa(); Så meningen er, at jeg gerne vil have den til at køre metoden "assign" på klassen smarty, så jeg kan få variablen "$key" tilgængelig inde i Smarty. Det ser ikke ud til, at der er errors, men hvad gør jeg galt?
Annonceindlæg fra Thinkwise
18. april 2006 - 22:17
#1
$smarty->assign("$key", $val); udfører en funktion i en instans af en klasse, altså et objekt. Jeg kan ikke se nogen mening i at gøre det i en klasse.
18. april 2006 - 22:19
#2
Meningen er, at jeg gerne vil have en klasse, hvori jeg har metoder til at manipulere med smarty på forskellig vis, bl.a. på denne manér, men det kan måske ikke lade sig gøre?
18. april 2006 - 22:25
#3
Jo, du kan nedarve fra Smarty-klassen, eller du kan lave en indre smarty-variabel i din klasse.
18. april 2006 - 22:35
#4
Nu har jeg forsøgt at extende, er der noget galt her? (har osse prøvet med Smarty/smarty som class) class AAA extends Smarty { var $key; var $val; function aaaaa() { #global $smarty; #$key = "abc"; #$val = "def"; #$smarty->assign("$val", $key); parent::assign("$this->val", $this->key); } } Kalder den med: $tmp = &New AAA; $tmp->key = "abc"; $tmp->val = "def"; $tmp->aaaaa();
18. april 2006 - 22:38
#5
I hvert fald ikke "...." omkring $this->var :)
18. april 2006 - 22:49
#6
Hvad mener du med en indre smarty-variabel i klassen?
18. april 2006 - 22:51
#7
Jeg mener bare en var $smarty; // PHP5: private $smarty; og så lav en new i constructoren. Derefter $this->smarty->assign(...)
Vi tilbyder markedets bedste kurser inden for webudvikling