Aufbau einer Website mit OOP

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

  • Aufbau einer Website mit OOP

    Hallo allerseits.

    Ich bin seit einigen Jahren als Coldfusion-Entwickler tätig und möchte mal wieder einen kleinen Abstecher in die Welt von PHP machen. Meine ersten Begegnungen mit PHP liegen ein paar Jahre zurück und sind daher sicherlich nicht mehr auf dem aktuellsten Stand. Mittlerweile habe ich mich auch über die Möglichkeiten von OOP in PHP informiert und bereits erste Klassen geschrieben, was wunderbar funktioniert.

    Was ich mich aber frage ist, wie wohl ein sauberer Aufbau bei einem grösseren Projekt aussehen mag. Hat mir hier jemand Tipps? Wie sieht das Error-Handling aus? Habt ihr eine eigen Klasse für Module und Datenbankabfragen? Aber vor allem: wie werden die einzelnen Module/Klassen aufgerufen?

    Danke vielmals für Eure Hilfe.

    Gruss
    TheYves

    PS: Hoffentlich habe ich die richtige Forumrubrik gewählt...

  • #2
    Bei größeren Projekten fährt man mit dem MVC-Pattern am besten. Für Datenbanken nehme ich eigene Abstraktionsklassen zur Hand, die von PDO abgeleitet sind und noch ein bisschen Zusatzfunktionalität für Fremdschlüssel und ein paar Convenience-Methoden hinzufügen. Das Error-Handling läuft komplett über Exceptions (auch PHP-Fehler und Warnungen werden in Exceptions umgewandelt).

    Aufgerufen wird bei mir alles vom Controller. Der selbst wird vom einzigen Nicht-OO-Skript aus instanziiert, welches per mod_rewrite als Catch-All-Resource realisiert ist.
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Eigentlich kann man dir nur ein Stichwort nennen, wenn man nicht alles zum tausendsten mal wiederholen will: Design Pattern! Das beantwortet all deine Fragen :-)
      [FONT="Helvetica"]twitter.com/unset[/FONT]

      Shitstorm Podcast – Wöchentliches Auskotzen

      Kommentar


      • #4
        Danke für Eure Hilfe.

        Das MVC-Pattern sieht für mich nach dem aus, wonach ich gesucht habe. Werde mich da mal reinlesen.

        Gruss
        TheYves

        Kommentar


        • #5
          Zitat von TheYves Beitrag anzeigen
          Danke für Eure Hilfe.

          Das MVC-Pattern sieht für mich nach dem aus, wonach ich gesucht habe. Werde mich da mal reinlesen.
          (Immer noch) Ein guter Einstieg: The no-framework PHP MVC framework von Rasmus Lerdorf.
          Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

          Kommentar


          • #6
            Habe mir am Samstag dieses Buch gekauft: PHP Design Patterns (Deutsche Ausgabe): Amazon.de: Stephan Schmidt: Bücher

            Habe jetzt angefangen mich von vorne nach hinten durchzulesen, macht mir einen guten Eindruck dieses Buch.

            Kommentar


            • #7
              Wenn man keine oder kaum PHP bzw. OOP-Kenntnisse hat, ist das bestimmt eine gute Wahl. Hat man das Kozept von OOP mal begriffen, greift man auch öfter mal zu Lektüre, die nicht auf eine Sprache gemünzt ist, bzw. lediglich exemplarisch nutzt.

              Weiterführend möchte ich empfehlen (findet sich alles bei Amazon, da aber recht teuer, sollte man auch die Gebrauchtangebote beachten):
              - Design Patterns. Elements of Reusable Object-Oriented Software
              - Patterns of Enterprise Application Architecture
              - Prefactoring: Extreme Abstraction, Extreme Separation

              Gelesen und kapiert kommt es nur noch selten vor, dass man große und kleine Design Schnitzer in seinen Applikationen verbaut – tatsächlich gefeit ist man natürlich nie.
              [FONT="Helvetica"]twitter.com/unset[/FONT]

              Shitstorm Podcast – Wöchentliches Auskotzen

              Kommentar


              • #8
                Grundbausteine Grundgerüst

                da ich auch immer wieder gern einen bogen um oop mache,
                nur 20% meiner skripte basieren auf klassen.

                bin ich trotzdem geneigt weiter einzusteigen, leider fehlt mir das grundverständnis

                bzw. vielleicht besser ausgedrückt, wie man z.b. einen fundament legt.

                als beispiel in meiner arbeitsweise sieht meine loginroutine so aus:

                login.php nimmt die daten an,
                sind daten vorhaden läd sich das skript selbst und bindet eine session.php mit ein,
                die daten werden an verschiedene funktionen weitergereicht,
                login, access_level, create_session, speicher_session etc.

                ist das alles ohne fehler gelaufen kommt der user auf eine start.php ....


                so und jetzt meine frage:

                wie baut man das mit klassen???

                bzw. um genauer zu sein wie würde das mit dem MVC-Pattern aussehen ???
                fotos :

                http://www.flickr.com/photos/rassloff/collections/

                Kommentar


                • #9
                  wie baut man das mit klassen???
                  Ganz einfach?

                  Nagut...
                  In der Regel läuft das dann alles über eine zentrale index.php

                  Die könnte dann z.B so aussehen:
                  PHP-Code:
                  require_once "./Config/Application.php";

                  $Application = new Application;
                  $Application->run(); 
                  Fertig, das wars.

                  Die Application startet einen Dispatcher, welcher den Request analysiert. Diese Dispatcher deligiert den weiteren Ablauf an einen Controller. Dieser wiederum diskutiert mit dem (Login)Modell oder auch anderen Modellen. Auch wählt er die nötige View aus und überreicht ihr die Daten.

                  *grob vereinfacht*
                  Wir werden alle sterben

                  Kommentar


                  • #10
                    Bei den ganzen Literatur- und Onlinetipps, ist es eigentlich eine Frechheit, nochmals danach zu fragen!
                    [FONT="Helvetica"]twitter.com/unset[/FONT]

                    Shitstorm Podcast – Wöchentliches Auskotzen

                    Kommentar


                    • #11
                      Zitat von unset Beitrag anzeigen
                      Bei den ganzen Literatur- und Onlinetipps, ist es eigentlich eine Frechheit, nochmals danach zu fragen!
                      Dafür gibt es doch so ein Forum oder??

                      Kommentar


                      • #12
                        Zitat von wono Beitrag anzeigen
                        Dafür gibt es doch so ein Forum oder??
                        Nein. Das Forum dient der Hilfestellung zur Selbsthilfe. Und wenn man alle Informationen sortiert und bewertet geliefert bekommt, kann man sich auch mal hinsetzen und das lesen, bevor man weint, dass man keine Ahnung hat (und –*und das ist nun eine unterstellung –*man zu faul ist, sich selbst was zu erarbeiten).
                        [FONT="Helvetica"]twitter.com/unset[/FONT]

                        Shitstorm Podcast – Wöchentliches Auskotzen

                        Kommentar

                        Lädt...
                        X