Lohnt hier OOP ?

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

  • Lohnt hier OOP ?

    Hallo,

    ich habe jetzt schon einige Projekte mit PHP umgesetzt und stehe nun vor einem neuen Projekt und habe mich zuvor auch schon mal in OOP eingelesen.

    Nun stelle ich mir die Frage ob es sich eigentlich lohnt für dieses Projekt OOP zu verwenden, da ich für mich daraus keinen Vorteil sehe eher nachteile.

    - Längerer Code
    - Komplizierter

    Vorteile

    - Keine ersichtlich für mich.
    (Ich weiß das OOP für besser pflegbar gehalten wird, aber ich sehe in diesem Projekt nicht wieso ich das mit OOP besser pflegen kann)


    So nun zu meinem Projekt.

    Ich möchte mir eine Filmdatenbank programmieren in der die Filme in einer MySQL DB verwaltet werden.

    Features sind einfach

    -> Neuen Film eintragen
    -> Film bearbeiten
    -> Film suchen
    -> Erweiterte Film suche (spezielle Auswahlkriterien)

    Mann kann dann eben neue Filme in die Datenbank schreiben, über eine Suchmaske einen Film bearbeiten oder einen Film suchen und sich Details anzeigen lassen.

    Es ist also kein Mammut Projekt.


    Nun stellt sich mir ganz einfach die Frage warum OOP ?

    Also ich kann eine Klasse Filme machen mit Detail Attributen etc.
    Aber mit welchem Vorteil ? Wenn ich nen Film eintrage wieso soll ich das erst in eine neue Instanz von Klasse schreiben wenn es im Endeffekt ich in die DB geschrieben wird ?

    Und wenn ich ein Film mit Details aus der DB auslese, wieso soll ich die Infos in einer Instanz von Filme packen, wenn ich auch einfach das SQL Ergebnisquery ausgeben kann.


    Ich stehe OOP gegenüber sicher nicht abgeneigt ich würde es gern mal ausprobieren, aber auch wirklich nur wenn ich dadurch für mich einen ersichtlichen Vorteil sehe und dies kann ich bis jetzt nicht sehen.

    Vielleicht kann mir ja jemand für mein Konkretes Projekt ein paar Vorteile nennen die für OOP sprechen : )

    Ich bedanke mich schon mal für eure Kommentare.


    Gruß

    Hagbard

  • #2
    Das hört sich an wie einfaches CRUD, also liegt es doch sehr nahe, eine DB-Klasse zu suchen oder zu schreiben. Auf http://www.phpobjectgenerator.com/ kannst du dir sowas fast schon zusammenklicken. Dann brauchst du nur noch eine funktionale Oberfläche dafür.
    Ich sehe keinen Grund, der gegen OOP sprechen würde.

    Kommentar


    • #3
      Tausend Fliegen können nicht irren.
      OPP schmeckt gut!!

      Für winzige Projekte lohnt OOP nicht...
      Allerdings, irgendwann willst du dein kleines Ding in ein größeres Projekt integrieren und dann beißt du dich in dein Hinterteil, weil du dir bei den ganzen kleinen Scripten den globalen Namensraum zugedonnert hast...

      Später mal:
      Wenn du ALLES in OOP bastelst, kannst du dir auch so eine kleine Filmverwaltung, fix aus den fertigen Modulen zusammenstöpseln. Fängst du allerdings nie mit OOP an, dann wirst du dir auch nie eine eigene Samlung an Modulen zulegen können.


      Grundsätzlich:
      Die Fachpresse quillt über von Begründungen, warum man OPP verwenden sollte. Das lese ich dir hier ganz sicher nicht vor!!
      Zuletzt geändert von combie; 06.10.2007, 13:42.
      Wir werden alle sterben

      Kommentar


      • #5
        weil du dir bei den ganzen kleinen Scripten den globalen Namensraum zugedonnert hast...
        Da seh ich kein Problem:
        über die paar Variablen in $_SESSION hab ich den Überblick und sonst hab ich keine globalen Variablen.

        Und zum Thema: "Wiederverwendbarkeit":

        auch prozeduraler Code ist wiederverwendbar.
        Ich hab z.B. einen Adminbereich, in dem ähnlich wie in phpmyadmin
        DB-Tabelleninhalte angezeigt, gelöscht etc. werden.
        Diesen Adminbereich kopier ich in ein neues Projekt, ändere die Tabellennamen ab, hier und da noch ein paar kleinere Änderungen und fertig.
        In OOP wärs wohl das selbe: Dateien kopieren und Tabellennamen ändern.

        Und bei der prozeduralen Programmierung überschreibt mir niemand "versehentlich" irgendwas.

        Kommentar


        • #6
          Namensraum != Variable
          Bei OOP überschreibt auch niemand "zufällig" irgendwas.
          Und ja, Funktionen sind wiederverwendbar, aber bei Objekten ist es deutlich eleganter.

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #7
            Koala, du negiert gerade den größten Entwicklungssprung, im Bereich der Programmiertechniken, der letzten 30 Jahre.

            Seltsam, sehr seltsam......
            Zuletzt geändert von combie; 06.10.2007, 16:34.
            Wir werden alle sterben

            Kommentar


            • #8
              nein Combie - ich sag doch nicht daß OOP falsch ist.

              Ich denk schon, daß es ganz praktisch ist, wenn man es begriffen hat und wenn man sich seine OOP-Umgebung zurechtgebastelt hat.
              Vermutlich ist es dann sogar schneller anzupassen.

              Bis jetzt knabbre ich ja noch an "trivialen" Problemen, wie den Aufruf einer "Seite" im Zend Framework ohne erst einen Controller aufrufen zu müssen.
              Bislang muß ich für jede statische "Seite" einen "dummen" Controller aufrufen.
              Bei prozeduraler Programmierung würd ich den PHP-Verarbeitungsteil einfach weglassen.

              Kommentar


              • #9
                Imho gehört OOP zu den Standards die du für "echtes" Programmieren, beispielsweise beruflich, richtig beherrschen musst. Alles andere ist entweder so klein, dass die Nachteile der prozeduralen Programmierung noch nicht groß auffallen, oder einfach nur sinnfreies rumgebastel!

                Kommentar


                • #10
                  ja - das mag sein.

                  Sollte sich die PHP-Welt dann komplett auf OOP einschießen,
                  dann wirds in den PHP-Foren richtig rund gehn ...

                  Kommentar


                  • #11
                    Bis jetzt knabbre ich ja noch an "trivialen" Problemen, wie den Aufruf einer "Seite" im Zend Framework ohne erst einen Controller aufrufen zu müssen.
                    Naja, es hindert dich ja nichts daran nach dem Dispatcher direkt HTML Seiten einzubinden oder?
                    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                    Kommentar


                    • #12
                      Das Problem ist, daß ich laut ZF-Tutorial immer zwei Dateien brauch,
                      view und controller.

                      Wenn ich jetzt einem User die Möglichkewit geben will seine eigene html-Seite zu erstellen, dann müßt ich jedes mal noch eine "sinnlose" php-Datei erstellen.

                      Aber ich schau mal was ein/der "Dispatcher" ist ..

                      Kommentar


                      • #13
                        Aber wenn du ein Problem mit dem Zendframework hast, hat das ja nichts mit OOP generell zu tun!
                        Da musst du das Framework verteufeln

                        Kommentar


                        • #14
                          Re: Lohnt hier OOP ?

                          Original geschrieben von Hagbard-Celine
                          Also ich kann eine Klasse Filme machen mit Detail Attributen etc.
                          Aber mit welchem Vorteil ? Wenn ich nen Film eintrage wieso soll ich das erst in eine neue Instanz von Klasse schreiben wenn es im Endeffekt ich in die DB geschrieben wird ?

                          Und wenn ich ein Film mit Details aus der DB auslese, wieso soll ich die Infos in einer Instanz von Filme packen, wenn ich auch einfach das SQL Ergebnisquery ausgeben kann.
                          weil du jetzt speziell von db-objekten sprichst. sieh' die mal propel, speziell "Persisting Objects" und "Finding Persisted Objects", an!

                          der vorteil ist ganz klar, dass du deinen code nicht mit zahllosen sql-abfragen durchziehen musst. der sql zugriff ist in den objekten gekapselt. auch musst du dir z.b. keine gedanken über z.b. das escapen machen, das geschieht automatisch im hintergrund.
                          selbst die zugrundeliegende datenbank bleib transparent und ist ohne größere anpassungen austauschbar.
                          die klassendefinitionen nebst speziellen werden auch automatisch generiert.

                          gut, propel ist in diesem fall sicherlich mit kanonen auf spatzen geschossen, aber vielleicht kannst du dir davon vereinfachte anregungen für dein projekt holen.

                          Kommentar


                          • #15
                            Jetzt bin ich ein kleinwenig verwirrt..
                            Was haben "statische HTML Seiten" mit "MVC -- PHP" zu tun?
                            Zuletzt geändert von combie; 06.10.2007, 20:37.
                            Wir werden alle sterben

                            Kommentar

                            Lädt...
                            X