Ankündigung

Einklappen
Keine Ankündigung bisher.

OOP in PHP

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • OOP in PHP

    Hallo Leute,

    ich wollte mal fragen wofür OOP in PHP verwendet wird.
    Ich denke ich habe das Prinzip von OOP verstanden nur fällt mir kein Anwendungsbeispiele ein.

    Könntet ihr deshalb so nett sein und mir ein paar Klassen- und Methodennamen schreiben, oder einfach simpel wo ihr es Anwendet wo es praktisch ist.

    Ich danke schon mal allen, mfg
    Feirell

  • #2
    Das kommt drauf an, wie man seine Webanwendung aufbaut. Wendet man einige Design Pattern wie z.B. das MVC (Model View Controller) an, so hat man schon die ersten Komponenten, die man als Klassen umsetzen kann.

    Im Falle des MVC gibt es da meist einen Router, der dafür zuständig ist, die aufgerufene URL auf einen Controller bzw. eine Action abzubilden. Bevor er etwas abbilden kann, müssen dem Router Routen hinzugefügt werden. Und somit hat man schon eine Klasse mit einigen grundlegenden Methoden.

    Router
    + addRoute($path, $controller)
    + getController($current_path)
    
    Dies ist ein sehr, sehr simples Beispiel. Wie das aussieht, wenn das ganze etwas abstrahiert wird, kannst du dir z.B. hier bei der Routing-Komponente von Symfony 2 anschauen
    https://github.com/symfony/symfony/t...ponent/Routing

    Natürlich kommen beim MVC (daher der Name) auch noch die Models, Views und Controller hinzu, womit man dann schon einige Klassen mehr hat. Jede Klasse hat ihre eigene Aufgabe.

    Hier mal das komplette Symfony 2 Framework, damit du einen Überblick bekommst, was es da noch so alles gibt: https://github.com/symfony/symfony

    Viele andere Frameworks wie CakePHP, Zend Framework (2), etc. verfolgen ähnliche Ansätze, auf ihre Weise umgesetzt.

    Ansonsten kannst du dir ja auch mal die Klassen anschauen, die PHP bereits mit sich bringt, wie z.B. PDO oder MySQLi

    VG

    Kommentar


    • #3
      Ich danke dir ersteinmal viel mals !
      Nur muss ich erlich sagen habe ich gerade so gut wie nichts verstanden .
      Ich meinte eher so beispiele wie z.B.: bei einem Login system (oder was weis ich).
      Mir gehts ja in diesem Thread um das verständiss welche Idee hinter oop steckt.

      Kommentar


      • #4
        oder einfach simpel wo ihr es Anwendet wo es praktisch ist.
        Faktisch überall.
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          Die Idee dahinter ist, die verschiedenen Aufgaben auf einzelne Komponenten zu verteilen. Jede Klasse hat eine spezielle Aufgabe. Gleichzeitig sollte der Code möglichst so abstrahiert sein, dass er einfach wiederzuverwenden ist.

          Hier mal ein Beispiel (vereinfacht, um das Prinzip zu erkläutern):
          Für einen Login könnte man z.B. einen Storage verwenden. Also "irgendetwas", was Daten speichern und lesen kann. Es kann verschiedene Storages geben, z.B. DatabaseStorage, FileStorage, ArrayStorage

          Dann gibt es als Komponente z.B. einen UserProvider, welcher einen Storage übergeben bekommt und prüfen kann, ob für eine Benutzername-Passwort-Kombination ein Benutzer im Storage vorhanden ist.

          UserProvider
          - storage
          + setStorage(Storage $storage)
          + getUserByCredentials($username, $password)

          Storage
          + find($key)
          + save($key, $value)
          + delete($key)

          DatabaseStorage extends Storage
          FileStorage extends Storage
          ArrayStorage extends Storage

          Der Storage hat nur die Aufgabe, Daten zu verwalten (lesen, schreiben, löschen). Der UserProvider hat nur die eine Aufgabe, festzustellen, ob Benutzername + Passwort korrekt sind und liefert bei Erfolg den User zurück.

          Die Komponenten sind nun:
          - austauschbar: statt der DB kann ich eine Datei als Quelle für die User verwenden (DatabaseStorage <-> FileStorage)
          - wiederverwendbar: man kann den Storage zum Speichern beliebiger Daten verwenden, nicht nur für die Benutzerverwaltung

          VG

          Kommentar


          • #6
            Mir gehts ja in diesem Thread um das verständiss welche Idee hinter oop steckt.
            Ich denke ich habe das Prinzip von OOP verstanden nur fällt mir kein Anwendungsbeispiele ein.
            Na wie denn nun?

            http://www.php-resource.de/forum/php...lassen-um.html

            Kommentar


            • #7
              Stimmt das klingt seltsam :d
              Ich meinte damit dass ich verstanden habe wie man Klassen schreibt und methoden implementiert. Nur das mir noch nicht die Logic dahinter klar ist.

              Der Link giebt genau das wieder was ich meine

              Kommentar


              • #8
                Ich danke dir BR2012 das leuchtet jetzt mehr ein als dein vorheriges Beispiel.
                Das ist sehr praktisch wenn man überlegt wie häufig Daten abgespeichert werden müssen.

                Könntest du mir noch sagen wie viele Variablen bzw. Konstanten du für die beiden Klassen verwendet hast ?

                Ich danke dir schon mal für deine Mühe
                Feirell

                Kommentar

                Lädt...
                X