hi,
» class Menu
» function Menu($Url,$Title)
» Class 'Menu_ul' not found ...Das passt nicht zueinander.
Ich hatte noch eine Funktion „Menu_ul“ in die Klasse geschrieben, daraus resultierte diese meldung.
Wenn du eine Funktion mit gleichem Namen wie die Klasse erstellst, ist das ein Konstruktor. Dies ist aber PHP4-Code. Der Konstruktor heißt nun __construct. Nur wenn es diese Methode nicht gibt, ruft PHP eine Methode gleiche dem Klassennamen auf. Und ein return in einem Konstruktor wird ignoriert. Das heißt, der Code wird zwar ausgeführt aber es wird nichts zurückgegeben.
Hmm, dass verstehe ich jetzt nicht; was meinst du mit es gibt keinen Rückgabewert bei return?
class Menu
{
function __construct($Title,$URL)
{
return ($_SERVER['REQUEST_URI'] == '/'.$URL) // wenn aufgerufene URI = Wert aus dem Array entspricht, keinen Link generieren
? $this->liste = "<em>$Title</em>"
: $this->liste = "<a href='$URL'>$Title</a>";
}
}
Das funktioniert genauso, wie ich es vorher hatte, also mit „Menu“ als Funktionsnamen.
class Menu
{
function Menu($Title,$URL)
{
return ($_SERVER['REQUEST_URI'] == '/'.$URL) // wenn aufgerufene URI = Wert aus dem Array entspricht, keinen Link generieren
? $this->liste = "<em>$Title</em>"
: $this->liste = "<a href='$URL'>$Title</a>";
}
}
Da ich sie nicht bekomme, kann ich dir nicht weiterhelfen.
Also eigentlich suche ich nur eine möglichkeit, in eine einzige Klasse unterschiedliche Funktionen abzulegen und dann über „new“ auf diese zuzugreifen, Beispiel:
class Menu
{
function MyFunction()
{
print "Funktion :MyFunction";
}
function OtherFunction($Param_1,$Param_2)
{
print "Funktion :OtherFunction mit Param: Param_1";
}
}
Wie kann ich jetzt auf diese einzelnen Funktionen in der Klasse „Menu“ zugreifen? Ist dass überhaupt möglich und für sowas gedacht?
mfg
echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
array(2) {
["SELFCODE"]=>
string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
["Meaningful"]=>
string(?) "Der Sinn des Lebens ist deinem Leben einen Sinn zu geben"
}