tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
582
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Munch Munch ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    52
    Mahlzeit,

    bräuchte mal einen denkanstoß bei der Objektorentierten Programmierungen. Hab folgendes problem:
    Ich versuche grade ein Menü zu erstellen welches auf Javascript basiert aber mit PHP initalisiert wird. Dafür habe ich mir eine Klasse erstellt die sich Menü nennt. Nun hat dieses Menü 'n' Einträge. Ich möchte nun gerne, dass diese Subeinträge einzelnd ansprechbar sind, komm aber einfach nicht drauf, wie ich das machen soll. Ich geh mal von der vererbung aus, bin mir aber nicht sicher ob i9ch da richtig bin.

    Also, nur mal als Beispiel:

    $menu = new gui_menu;
    $menu->addEntry(0); //erstellt einen Eintrag mit der ID 0
    $menu->entry[0]->setTitle("News"); //ist das in dieser Form möglich Wenn ja, wie sähe die Klasse aus? Wenn nein, was gäbe es für andere Möglichkeiten um das zu realisieren?

    OOP ist nicht mein fachgebiet, und ich fange grade an mich damit zu beschäftigen. Vielleicht denke ich auch vollig verquert, oder habe etwas grundlegendes noch nicht verstanden. Allerdings hab ich auch schon mehrere Stunden mit googlen und Tuturials lesen verbracht und noch nichts wirklich hilfreiches gefunden.

    Danke für eure Hilfe,
    Jan
     

  2. #2
    nosilume nosilume ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Ort
    localhost
    Beiträge
    150
    Also grundsätzlich ist dieser Ansatz möglich, vorausgesetzt addEntry fügt ein weiteres Objekt zu dem Array hinzu, das die Methode setTitle implementiert.
    Ich würde das aber anderes lösen, und zwar so:
    PHP-Code:
    $entry $menu->addEntry($entryId);
    $entry->setTitle($entryTitle); 
    addEntry gibt hier eine Instanz der Klasse foobar (oder menu_entry) zurück und speichert es intern in einem Array (oder sonstwo), was meiner Meinung nach praktischer ist.
    Das ist aber nur in PHP 5 so möglich, weil hier automatisch mit Referenzen gearbeitet wird. In PHP 4 musst du die Referenz explizit angeben.

    Die Klasse(n) müsste für meinen Ansatz ungefähr so aussehen:
    PHP-Code:
    class gui_menu_entry {
      public function 
    setTitle($title) {}
      public function 
    setFoobar() {}
    }
    class 
    gui_menu {
      protected 
    $entries = array();

      public function 
    addEntry($entryId) {
        
    $this->entries[$entryId] = new gui_menu_entry();
        return 
    $this->entries[$entryId];
      }

    Wenn dir dein Ansatz lieber ist, kann ich dir auch gerne noch ein Klassengerüst dafür schreiben.
    Geändert von nosilume (17.09.07 um 16:16 Uhr)
     
    mfg
    nosilume

    Wenn dir mein Thread geholfen hat bewerte meinen Beitrag bitte und markiere den Post als erledigt. Danke.
    Sessions in der Datenbank speichern
    Was sind SQL Injections - wie schreibe ich sicheres SQL ?

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 10.09.10, 08:29
  2. Chat über Webserver? Brauche Denkanstoß
    Von RipdEaTh im Forum Java
    Antworten: 5
    Letzter Beitrag: 02.12.06, 22:00
  3. Brauche Denkanstoß für Admin Ebene
    Von Vigo im Forum PHP
    Antworten: 1
    Letzter Beitrag: 02.12.04, 11:17
  4. Antworten: 0
    Letzter Beitrag: 02.11.04, 06:22
  5. brauche Denkanstoß; Tic Tac Toe
    Von Kanonenfutter im Forum .NET Archiv
    Antworten: 1
    Letzter Beitrag: 08.09.04, 20:38