Tom: PHP OOP, wie eine Klassenhierarchie entsteht

Beitrag lesen

Hello Sven,

vielen Dank für diesen ausführlichen Beitrag. Ich pflichte Dedlfix' bitte bei :-)

Bis vor den "Decorator" konnte ich Dir folgen. Nur, wie dieser auszusehen hat, habe ich noch nicht durchschaut.

Aktuelle komplette Anwendung:

$links = array('Home', 'Impressum');

$decorator = new Navi_Decorator();
$navi = new Navi($links, $decorator);
$navi->getHtmlMenu();


>   
> Du siehst: Obwohl die Funktionalität sich außen kaum verändert, werden durch die inneren Komponenten, die man von außen mit hineintut, eventuell gewaltige Dinge bewegt. Deshalb noch als letztes die Sache mit den diversen Eigenschaften, die ein Link außer seinem Text hat: Linkziel und ggf. target.  
>   
> Diese Dreierkombination passt eigentlich ziemlich gut ebenfalls wieder in eine Klasse:  
>   
> ~~~php

class Navi_Link  

> {  
>   public $label = "";  
>   public $url = "";  
>   public $target = "";  
> }  
> 

Ich habe bisher immer reine Datenklassen gebaut und dann in einer "Bind-Class" die Daten mit den Templates verbunden. Das könnten ja auch andere, als HTML sein.

Die Templates bestehen bei mir aus mehrern Teilen: Statischer Teil "Frame" und dynamische Teile "Repeat-Areas".

Ein fertiges Datenobjekt besteht daher auch aus dem statischen Teil und ggf. mehreren Repeat-Areas.

So ist es auch möglich, dass Templates aus dem Userspace geladen werden, während Funktionalität und Daten nur aus dem "Supervisor-Space" kommen.

Wie ich das "ich übergebe Datenblöcke als Arrays" aber nun in saubere OOP verwandele, wo echte Objekte übergeben werden müssen und auch nur die passenden übergeben werden können, ohne dabei die Universalität der Bind-Klasse zu verlieren, da hänge ich jetzt.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de
0 101

PHP OOP Klassenaufteilung

Tom
  • php
  1. 0
    Jeena Paradies
    1. 0
      jobo
      1. 0
        Malcolm Beck´s
        1. 0
          jobo
          1. 0

            PHP Zend-Framewok Installation nutzen

            Malcolm Beck´s
            1. 0
              Jeena Paradies
              1. 0
                Malcolm Beck´s
                1. 0
                  Jeena Paradies
                  1. 0
                    Malcolm Beck´s
                    1. 0
                      Jeena Paradies
                    2. 0
                      jobo
                2. 0
                  jobo
                  1. 0
                    Malcolm Beck´s
                    1. 0
                      Jeena Paradies
                      1. 0
                        Tom
                        1. 0
                          Jeena Paradies
                          1. 0
                            Tom
                            1. 0
                              Jeena Paradies
                              1. 0
                                Tom
                                1. 0
                                  Jeena Paradies
                                  1. 0
                                    dedlfix
                                    1. 0
                                      Jeena Paradies
                                      1. 0
                                        dedlfix
                                        1. 0
                                          Jeena Paradies
                                2. 0
                                  Sven Rautenberg
                              2. 0
                                Malcolm Beck´s
                                1. 0
                                  Jeena Paradies
                                  1. 0
                                    Malcolm Beck´s
                            2. 0
                              Malcolm Beck´s
                              1. 2
                                Sven Rautenberg
                                1. 0
                                  Malcolm Beck´s
                                  1. 0
                                    Sven Rautenberg
                                    1. 0
                                      Malcolm Beck´s
                                      1. 8
                                        Sven Rautenberg
                                        1. 0
                                          Malcolm Beck´s
                                        2. 2
                                          dedlfix
                                        3. 0

                                          PHP OOP, wie eine Klassenhierarchie entsteht

                                          Tom
                                        4. 0
                                          Malcolm Beck´s
                                          1. 0
                                            Jeena Paradies
                                            1. 1
                                              dedlfix
                                            2. 1
                                              Sven Rautenberg
                                              1. 0
                                                Jeena Paradies
                                          2. 1
                                            dedlfix
                                            1. 0
                                              Sven Rautenberg
                                              1. 0
                                                dedlfix
                                          3. 2
                                            Sven Rautenberg
                                            1. 0
                                              dedlfix
                                              1. 0
                                                Sven Rautenberg
                                                1. 0
                                                  dedlfix
                                              2. 0
                                                Tom
                                                1. 0
                                                  dedlfix
                                            2. 0
                                              Malcolm Beck´s
                                              1. 0
                                                Sven Rautenberg
                                                1. 0
                                                  Claudius L.
                                                  1. 0
                                                    Claudius L.
                                                  2. 1
                                                    dedlfix
                                                    1. 0
                                                      Claudius L.
                                                      1. 2
                                                        Sven Rautenberg
                                                  3. 0
                                                    Sven Rautenberg
                                                2. 0
                                                  Malcolm Beck´s
                            3. 0
                              Sven Rautenberg
                3. 1
                  Matti Mäkitalo
                  1. 0
                    Malcolm Beck´s
                4. 0
                  Vinzenz Mai
                  1. 0
                    Malcolm Beck´s
                    1. 0
                      jobo
        2. 0
          dedlfix
          1. 0
            Malcolm Beck´s
            1. 0
              Malcolm Beck´s
              1. 1

                Uralt-Software

                Kai345
                • meinung
                1. 0
                  Malcolm Beck´s
                  1. 0
                    Kai345
                    1. 0
                      Malcolm Beck´s
            2. 0
              dedlfix
      2. 0
        Jeena Paradies
  2. 2
    Sven Rautenberg
    1. 0
      Tom
  3. 0
    hotti
    1. 0
      dedlfix
      1. 0
        Jeena Paradies
        1. 2
          dedlfix
          1. 0
            Jeena Paradies
      2. 0
        hotti
        1. 0
          Jeena Paradies
          1. 0
            Tom
            1. 0
              Jeena Paradies
              1. 0
                dedlfix
                1. 0
                  Jeena Paradies
                  1. 0
                    Sven Rautenberg
                    1. 0
                      Jeena Paradies
                      1. 0
                        dedlfix
                2. 0
                  Tom
                  1. 0
                    dedlfix
            2. 0
              Sven Rautenberg
        2. 2
          dedlfix
        3. 0
          hotti
      3. 0
        Matti Mäkitalo
        1. 0
          dedlfix
  4. 1
    jobo
  5. 0
    hotti