Klasse mit Klassenobjekt
depp
- php
0 dedlfix
moin
hab von smarty / pear ein objekt/eine klasse für mysql-datenbank-zugriffe in verwendung.
nun will ich in einer eigenen klasse auf dieses objekt zugreifen. das klappt auch recht gut, wenn ich es z.b. bei funktionen mit-übergebe.
nun dachte ich mir, dass ich es als "teil meiner klasse" mittels "var" erstelle und einmal zuweise.
also
myclass
{
var $test;
function do($test_objekt){$test_objekt->tuEtwas();}
function do2(){$this->test->tuEtwas();}
}
wie bring ich do2 sinngemäß zum laufen, nach folgenden aufrufen:
$myclass1=new myclass;
$myclass1->test=$test_objekt1;
$myclass1->do2();
das soll dann als alternative zu diesem verwendet werden:
$myclass1=new myclass;
$myclass1->do($test_objekt1);
danke
ps: auch wenn es in diesem bsp umständlicher erscheint, benötige ich es dennoch...
echo $begrüßung;
hab von smarty / pear ein objekt/eine klasse für mysql-datenbank-zugriffe in verwendung.
nun will ich in einer eigenen klasse auf dieses objekt zugreifen. das klappt auch recht gut, wenn ich es z.b. bei funktionen mit-übergebe.
nun dachte ich mir, dass ich es als "teil meiner klasse" mittels "var" erstelle und einmal zuweise.
So wie du das schriebst, sah das doch gar nicht so schlecht aus. Wo genau hast du da ein Problem gehabt?
Etwas eleganter gelöst:
Wie wäre es mit einem Konstruktor?
class myclass {
var $test;
function myclass(&$object) {
$this->test =& $object;
}
function do() {
$this->test->tuEtwas();
}
}
$myclass = new myclass($anObject);
$myclass->do();
Beachte die Übergabe per Referenz (die &-Dinger). Denn wenn du nicht gerade PHP5 verwendest wird eine Kopie in myclass::test abgelegt und weitere Änderungen am urspünglichen Objekt werden in myclass::test nicht berücksichtigt.
echo "$verabschiedung $name";