pl: Trait oder Elternklasse in einer Klassen Gruppe?

Beitrag lesen

Aufgrund meiner Erfahrung (ich habe 3 Frameworks entwickelt und zwar selbständig!) ein Hinweis zu Injektionen: Bei einem Interface (IF) steht die Reihenfolge fest in welcher die Methoden des IF aufgerufen werden. So wird man z.B. ein PDO Objekt zweckmäßigerweise in der ersten IF-Methode oder vor dem Aufruf der ersten IF-Methode injezieren damit man dieses Objekt in den nachfolgenden Methoden zur Verfügung hat. Diese Injektion kann später erfolgen, also nachdem die Main-Instanz gebildet wurde.

Braucht man jedoch die Methoden einer nichtverwandten Klasse durch die gesamte Anwendung hindurch, wird die Instanz dieser Klasse in den eigenen Konstruktor hineingereicht (injeziert).

Und wie gesagt, Deine Erfahrungen musst Du selber machen. Deswegen ja ist Programmieren keine Kunst sondern ein Handwerk was man eben nur selber lernen kann wenn man es selber macht.

So wird man auch am Ende eigener Entwicklungen sämtliche Muster der GoF in seinem eigenen Code vorfinden, auch dann wenn man gar nicht vor hatte nach einem bestimmten Muster entwickeln zu wollen.

Und siehst Du, genau deswegen sind Traits in PHP und Interfaces in PHP keine Besonderheit von PHP sondern allgemeingültige Dinge die man auch ganz anders umsetzen kann als wie PHP das vorschreibt. Bsw. ist eine externe Methode die erst per __call() aus dem Dateisystem nachgeladen wird bereits ein Trait. Und auch in solchen Methoden kann man Instanzen nicht verwnandter Klassen nachladen oder injezieren.

Genausogut kann man auch ein Interface mit Klassen aufsetzen ohne daß man das Schlüsselwort interface dazu braucht.

MFG

0 61

Trait oder Elternklasse in einer Klassen Gruppe?

MB
  • php
  • programmiertechnik
  • projektverwaltung
  1. -2
    pl
    1. 0
      Gunnar Bittersmann
      • programmiertechnik
      1. -1
        pl
        1. 2
          Tabellenkalk
        2. 3
          Christian Kruse
          1. 0
            Rolf B
            1. 0

              Grundlegende Lernstrategien

              Der Martin
              • sonstiges
              1. 0
                Gunnar Bittersmann
        3. 1
          Felix Riesterer
    2. 1
      Tabellenkalk
    3. 1
      Felix Riesterer
    4. 0
      MB
      1. -1
        pl
        1. 0
          MB
          1. 1
            Felix Riesterer
            1. 0
              MB
              1. 1
                Tabellenkalk
                1. 0
                  MB
              2. 1

                Plural-s und Schriftformatierung

                Der Martin
                • markdown
                • sprache
                1. 0
                  MB
                  1. 0
                    Tabellenkalk
                    1. 0
                      MB
                      1. 3
                        Der Martin
                        1. 0
                          MB
                          • markdown
                  2. 0
                    Matthias Apsel
                    1. 0
                      Der Martin
                  3. 0
                    Der Martin
                    1. 0
                      MB
                2. 0
                  Der Martin
                  1. 0
                    Matthias Apsel
                    1. 0
                      Tabellenkalk
          2. -3
            pl
            1. 0
              Christian Kruse
            2. 0
              pl
              1. 0
                pl
              2. 2
                MB
                1. 0
                  pl
            3. 0
              Rolf B
            4. 1
              MB
              1. -3
                pl
                1. 1
                  MB
                  1. 0
                    Gunnar Bittersmann
                  2. 0
                    MB
                    • meinung
                    1. -1
                      pl
                      1. 0
                        MB
                      2. 0
                        Rolf B
          3. 0
            pl
            1. 1
              Mitleser
            2. 0
              MB
              1. -1
                pl
                1. 0
                  MB
    5. 0
      MB
      1. -3
        pl
        1. 0
          Rolf B
  2. 0
    pl
    1. 0
      MB
  3. 1
    dedlfix
    1. 0
      MB
  4. 0

    Dependency Injection, Vorsicht Falle

    pl
    1. 1
      dedlfix