klassen und php
kleinerChemiker 12.08.2003 - 09:32 495 5
kleinerChemiker
Here to stay
|
folgendes problem: ich hab eine klasse, nennen wir sie test. nun initialisiere ich diese klasse mehrmals. z.b.:
$a = new test; $b = new test; $c = new test;
nun suche ich eine funktion, die mir sagt, wie die variablen heißen, in denen meine klasse test steckt. also eine funktion, die mir dann z.b. ein array ausgibt, das a, b, c enthält.
gibts eine möglichkeit?
tia
MIK
|
atrox
in fairy dust... I trust!
|
mich würde sehr wundern, wenn die klasse zb test backreferences zu den variablen enthält - das wäre schon deshalb schwierig, weil ich diese variablen kopieren kann, referencen davon erzeugen, und auch diese referenzen kopieren kann.
das klingt mal wieder nach einer detailfrage einer festgefahrenen lösung, die man nur aufbohren kann, wenn man die hintergründe auch kennt: kläre uns auf.
|
kleinerChemiker
Here to stay
|
ich hab mir eine klasse geschrieben, mit der ich alle meine mysql sachen mach. so kann es durchaus vorkommen, daß diese klasse mehrmals neu aufgerufen wird. unter anderem wird bei jeder mysql aktion die zeit gespeichert, auch die anzahl der querys. hab ich nun die klasse mehrmals initialisiert, müßte ich diese zeiten und die anzahl der querys addieren, um zum endergebnis zu kommen. aber wenn ich nciht weiß, wie die ganzen variablen heißen, kann ich sie nicht addieren. MIK
|
Eat my shorts
Little Overclocker
|
ACK, mir is nur die function is_a und get_class bekannt, ob ein obj einer Class ist, allerdings, eine fkt die dir die die vars ausgibt, ?, da bräuchte man halt a fix definierte serie von vars, die man mit is_a durchiteriert, sonst is eigentlich net möglich
|
atrox
in fairy dust... I trust!
|
|
kleinerChemiker
Here to stay
|
thx, mit dem link ist mir geholfen. zwar nciht das, was ich wollte, aber das ergebnis ist das selbe. nur eine frage hab ich dazu: $GLOBALS['_transient']['static']['test']->v1 = 1;
class Test {
function Test() {
$this->v1 = & $GLOBALS['_transient']['static']['test']->v1;
}
function printAndIncrease() {
echo "$this->v1<br>";
$this->v1++;
}
var $v1;
}
$t1 = new Test();
$t1->printAndIncrease();
$t2 = new Test();
$t2->printAndIncrease();
weshalb wird da so ein riesen namen ($GLOBALS['_transient']['static']['test']) verwendet? würde $globals['static'] nicht auch reichen? tia MIK
|