Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Objekte zu einem anderen Objekt zuweisen !!

Malzeit allerseits !!

Ich fummel mich gerade in das Objektorientierte Programmieren mit PHP ein.
Dazu habe ich mir folgende Aufgabe gestellt:
Ich möchte eine Navigation einer Webseite OOP.
Die Navigationspunkt werden aus euner Datenbank gelesen.
Ich habe die Klasse Navigation und Navigationspunkte.
Die Hauptnavigationspunkte unter Unternavigationspunkte sind als Objekte in 2 verschiedenen Arrays
gespeichert.
Was ich möchte das ich die Unternavigationspunkte nun den jeweiligen Hauptnavigationspunkten
zu ordne.

Wenn jemand den Code möchte bitte bescheid sagen.

Vielen Dank im Vvorraus für eure Hilfe!!!!

Gruss Flocke

Hier gehts zum Orginal Eintrag "Objekte zu einem anderen Objekt zuweisen !!" im Forum

Antworten

Zitat:
flocke postete
Wenn jemand den Code möchte bitte bescheid sagen.

und wieso postest du ihn nicht gleich?

so wie ich dich verstanden habe, musst du das entsprechende array gleich beim instanzieren mitgeben, anders bekommst du es nicht in die klasse ...

johnpatcher


2.

[code]class navigation {
var $mydb;
var $anzahl;
var $hauptnavpoints;
var $unternavpoints;
var $allenavpoints;
var $aktuellenavpoints;


function __construct($db){
$this->hauptnavpoints=array(); // Array in dem die NavigationsObjekte gespeichert werden sollen
$this->mydb=$db;
$this->unternavpoints=array();
$this->aktuellenavpoints=array();
$this->allenavpoints=array();


$erg=$this->mydb->sql("SELECT * FROM navigation ORDER BY id"); // Holt Daten der Navi aus der Datenbank


while($row = mysql_fetch_object ($erg)) {
$navigationspunkt = new navigationspunkt($row); // Für jede Reihe aus der Datenbank wird ein Objekt erstellt

$this->allenavpoints[$row->id]=$navigationspunkt; // Alle Objekte werden nach und nach in das Array "allenavpoints" gelegt

if ($row->obernavi=="0"){
$this->hauptnavpoints[] = $navigationspunkt; // Objekte die Hauptnavigationen sind werden in das Array hauptnavpoints gelegt

}else if ($row->obernavi > "0"){
$this->unternavpoints[] = $navigationspunkt; // Objekte die Unternavigationen sind werden in das Array unternavpoints gelegt
}

}


}




function loeschen($zu_loeschende_hauptnavi,$zu_loeschende_unternavi){
//echo $zu_loeschende_hauptnavi; echo $zu_loeschende_unternavi;
if ($zu_loeschende_unternavi == ""){
//echo "loeschen Haupt und Unternavi";
$erg=$this->mydb->sql("DELETE FROM navigation WHERE id = '$zu_loeschende_hauptnavi' OR obernavi = '$zu_loeschende_hauptnavi' ");
}
if ($zu_loeschende_unternavi != ""){

//echo "loeschen Unternavi";
$erg=$this->mydb->sql("DELETE FROM navigation WHERE id = '$zu_loeschende_unternavi'");
}


}

function main($besuchte_navi){
echo "<div class=\"navigation\">";
foreach($this->hauptnavpoints as $hauptnavpoint){
$aktuellenavpoints[]=$hauptnavpoint;
//Abgleich ob Obernavi zu unternavi gehört
if ($besuchte_navi != ""){
foreach($this->unternavpoints as $unternavpoint){
if ( $unternavpoint->obernavi == $besuchte_navi){
$aktuellenavpoints[]=$unternavpoint;
}
}
$besuchte_navi2=$besuchte_navi;
$besuchte_navi="";
}

}
natcasesort($aktuellenavpoints);
echo print_r($aktuellenavpoints);
foreach($aktuellenavpoints as $aktuellnavpoint){

$aktuellnavpoint->navipunkt_anzeigen($besuchte_navi2);
}

}

}

?>


3.

das Array entweder gleich beim instantieren mitgeben oder eine Methode in deine Navigationsklasse setzen die dem Navigationspunkt einen weiteren Unterpunkt hinzufügt (ist sauberer)

Ganz nobel wäre natürlich nur Objekte hinzuzufügen. Es gibt dann eine Klasse Navigationspunkt und eine Methode Navpunkt hinzufügen die ein Objekt Navigationspunkt als Parameter akzeptiert.
So könnte jeder Unternavigationspunkt weitere Unterpunkte haben.. un es müsste nicht so streng nach Hauptnavigationspunkt und Unternavigationspunkt unterschieden werden..Nur so nutzt du die Möglichkeiten von OO-Programmierung.


4.

Wie sieht den aber so eine Zuweisung Programmiertechnisch aus ?
Das Prinzip habe ich verstanden !!

Vielen Dank


5.

Welche Zuweisung meinst du? und was genau möchtest du da programmiertechnisch wissen?


6.

So eine Zuweisung zu einem Objekt meine ich !
Ich habe eine Array mit den Hauptnavigation und eine mit den Unternavigation.
Wie sieht nun so eine Zuweisung zu wenn Ich die Unternavigationen der Obernavigation zuweisen.

Danke im vorraus


Hier gehts zum Orginal Eintrag "Objekte zu einem anderen Objekt zuweisen !!" im Forum
 
phpforum.de | Impressum | Handy Bundles