Marc1: Mehrschichtige Applikationen - Tutorials o. ä.

Hallo,

weiß hier jemand, wo man Dokumentationen, Tutorials, Open-Source-Applikationen zum Anschauen, o. ä. bekommt, die sich komplett auf PHP5 und _reine_ Objektorientierung beziehen?

Am besten im Zusammenhang mit dem MVC-Konzept. Und möglichst was, was über Beispiele im Sinne von Autovermietung und dergleichen hinausgeht.

  1. Moin!

    weiß hier jemand, wo man Dokumentationen, Tutorials, Open-Source-Applikationen zum Anschauen, o. ä. bekommt, die sich komplett auf PHP5 und _reine_ Objektorientierung beziehen?

    Am besten im Zusammenhang mit dem MVC-Konzept. Und möglichst was, was über Beispiele im Sinne von Autovermietung und dergleichen hinausgeht.

    Ich würde meinen, dass du da einen Themenbereich anschneidest, der schon weit außerhalb der Reichweite von "Tutorials" liegt. Sowas lernt man nicht mal eben in drei Tagen, nur weil man ein Tutorial liest, irgendeine Doku oder eine bestehende Applikation anschaut. So gut kann kein Quell- oder sonstiger Text sein, dass er im Detail alle Designentscheidungen und Abwägungen explizit aufführt und für Unbeteiligte nachvollziehbar macht.

    Sowas lernt man eigentlich nur, indem man es macht, dabei viele Erfahrungen durch Irrwege und suboptimale Lösungen sammelt, und sich immer wieder fachlich mit anderen Leuten austauscht.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Ich hatte jetzt auch nicht mit Tutorials für Anfänger gerechnet.

      Es ist auch nicht so, dass ich keine Ahnung hätte, aber ich arbeite seit Jahren mit PHP und entwickle mich auch ständig weiter.

      Es halt mit extrem viel Aufwand verbunden und wenn man merkt, dass eine Applikation in einer Sackgasse endet und man im Prinzip alles neu machen kann, dann nervt das schon ungemein :)

      Ich hatte hier mal etwas gefunden, das in die Richtung ging:

      http://www.ralfeggert.de/2006/08/26/einfuehrung-und-anforderungen/

      Allerdings wird da vom Zend-Framework selbst schon so viel abgenommen, dass nicht mehr viel übrig bleibt...

      Aber mir fällt gerade ein, dass ich mir dieses Framework selbst mal anschauen könnte. Da wird wohl einiges an Know How drin stecken. :)

      1. Moin!

        Ich hatte jetzt auch nicht mit Tutorials für Anfänger gerechnet.

        Der Begriff "Anfänger" steckt aber im Wort "Tutorial" schon drin. Tutorials sind Kochrezeptanleitungen für Anfänger: "Du willst X, dazu machst du A, dann B, und am Ende C - fertig." Erklärungen, warum man A, B oder C macht, sind nicht im ausreichenden Maße enthalten. Denn wenn sie es wären, wär's kein Tutorial mehr, sondern eine handfeste Abhandlung über Programmiertechniken, mit theoretischem Background etc.

        Sowas nennt man im Volksmund dann auch "Buch". :)

        Es ist auch nicht so, dass ich keine Ahnung hätte, aber ich arbeite seit Jahren mit PHP und entwickle mich auch ständig weiter.

        Es halt mit extrem viel Aufwand verbunden und wenn man merkt, dass eine Applikation in einer Sackgasse endet und man im Prinzip alles neu machen kann, dann nervt das schon ungemein :)

        Sackgassen passieren. Das ist normal.

        Sie passieren häufiger, wenn man in der Fachmaterie des zu bearbeitenden Problems noch keine gute Übersicht hat und Annahmen macht, die sich hinterher als falsch herausstellen. Nur als winziges Beispiel: "Oh, Postleitzahlen können mehr als nur Zahlen enthalten?"

        Allerdings wird da vom Zend-Framework selbst schon so viel abgenommen, dass nicht mehr viel übrig bleibt...

        Aber mir fällt gerade ein, dass ich mir dieses Framework selbst mal anschauen könnte. Da wird wohl einiges an Know How drin stecken. :)

        Die Frage, ob man ein Framework einsetzt, oder nicht, ist nicht leicht zu beantworten. Kennt man kein einziges Framework, oder nur solche, die nicht passen, ist abzuwägen, ob man durch den Einsatz des Frameworks mehr Zeit spart, als für das Neulernen verloren geht. Außerdem besteht die Gefahr, dass das neue Framework am Ende doch nicht genau macht, was man benötigt. Eine individuelle Lösung ist deshalb nicht automatisch schlechter. Auch die kann man als Frameset verstehen und programmieren.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."
        1. Hey,

          Sowas nennt man im Volksmund dann auch "Buch". :)

          Stichwort Buch. Ich hatte vor einiger Zeit dieses Buch gelesen, was auch als HTML-Fassung auf der Website zur Verfügung steht.

          Professionelle Softwareentwicklung mit PHP5

          Ich weiß nicht, ob das nicht eventuell unter dem "Niveau" liegt, auf dem Du etwas suchst (ist nicht zynisch oder so gemeint, für mich war es ideal - im Vergleich zu all den dicken Schinken, die nur das PHP Manual in anderen Worten zusammenfassen).

          Grüße
          Patrick

        2. Hallo,

          »»"Oh, Postleitzahlen können mehr als nur Zahlen enthalten?"

          Tatsächlich? Und wenns geht auch nicht nur 5-Stellig?
          Doch "nur" ausserhalb der Bundesrepublik oder?
          Wenn nicht hab ich dem Rolf damals nicht richtig zugehört.

          Welche Formate gibt es denn da noch?

          Grüße, Matze

          1. Moin!

            »»"Oh, Postleitzahlen können mehr als nur Zahlen enthalten?"

            Tatsächlich? Und wenns geht auch nicht nur 5-Stellig?
            Doch "nur" ausserhalb der Bundesrepublik oder?
            Wenn nicht hab ich dem Rolf damals nicht richtig zugehört.

            Welche Formate gibt es denn da noch?

            Wenn du nur bezogen auf die Bundesrepublik Deutschland denkst, dann hast du natürlich recht: Postleitzahlen bestehen aus genau 5 Ziffern.

            Das bedeutet allerdings nicht, dass man eine Postleitzahl als fünfstelligen Integer abspeichern darf. Führende Nullen haben ja eine Bedeutung. Auch ZEROFILL wäre mir da nicht geheuer. Deshalb gehören Postleitzahlen als String gespeichert - man wird niemals mit ihnen rechnen.

            Wenn du national denkst, weil du vielleicht eine Applikation schreibst, die jeweils nur innerhalb eines Landes eingesetzt wird, wird's schon komplexer, denn nicht alle Länder haben fünfstellige Postleitzahlen. Österreich kommt mit vier Stellen aus - nur als Beispiel.

            Und wenn du dir die Postleitzahlen im Vereinigten Königreich ansiehst, wirds halt so richtig spannend. Genauso bei einer multinational eingesetzten Software.

            Adressen sind mithin das unangenehmste, was man bei Benutzerinteraktionen entgegennehmen kann. Da gibts eigentlich nur zwei Extrema: Entweder streng nach landestypischen Vorgaben meckern und ausländische Adressen abwehren, oder mehr oder weniger alles akzeptieren, was eventuell denkbare Adressen sein könnten.

            - Sven Rautenberg

            --
            "Love your nation - respect the others."
            1. Hallo,

              auch wenn wir ein bisschen Off-Topic geraten...

              Wenn du nur bezogen auf die Bundesrepublik Deutschland denkst, dann hast du natürlich recht: Postleitzahlen bestehen aus genau 5 Ziffern.

              Beruhigend :)

              Wenn du national denkst, weil du vielleicht eine Applikation schreibst, die jeweils nur innerhalb eines Landes eingesetzt wird, wird's schon komplexer...

              Genau das ist jetzt mein Problem.
              Ich schreibe gerade einen Shop mit Hauptzielgruppe Deutschland / Schweiz.
              Da fängt es schon an. Ich hab nämlich keine Ahnung wie es sich bei unserem Landesnachbar mit den Adressen verhält.
              Es ist auch zu erwarten das Kunden aus anderen Ländern, Italien z.B. auf jeden Fall, bestellen. Da hab ich dann erst recht keine Ahnung.

              oder mehr oder weniger alles akzeptieren, was eventuell denkbare Adressen sein könnten.

              Darauf wird es wohl hinaus laufen müssen. Schade.
              Wahrscheinlich kann ich dann nicht mal Sonderzeichen raus filtern.

              Danke und Grüße, Matze

              1. Moin!

                Ich schreibe gerade einen Shop mit Hauptzielgruppe Deutschland / Schweiz.
                Da fängt es schon an. Ich hab nämlich keine Ahnung wie es sich bei unserem Landesnachbar mit den Adressen verhält.
                Es ist auch zu erwarten das Kunden aus anderen Ländern, Italien z.B. auf jeden Fall, bestellen. Da hab ich dann erst recht keine Ahnung.

                Sowas kann man ja aber recherchieren. Auch die Schweizer haben auf ihren Webseiten irgendwo Kontaktadressen stehen (selbst wenn sie keine Impressumspflicht hätten, würde man als Anbieter sowas irgendwo notieren), also kriegt man deren Adresscharakteristik schon raus.

                Ob's einem etwas bringt, ist allerdings die zweite Frage.

                oder mehr oder weniger alles akzeptieren, was eventuell denkbare Adressen sein könnten.

                Darauf wird es wohl hinaus laufen müssen. Schade.
                Wahrscheinlich kann ich dann nicht mal Sonderzeichen raus filtern.

                Wozu auch? Im Prinzip muß der Kunde eine Textarea kriegen, in die er seine Adresse reintippt.

                Das kann man für das eigene Handling aufsplitten in Text-Inputs, die die typischerweise in einer Adresse vorkommenden Bestandteile einzeln abfragen, also Name, Straße, Hausnummer, Postleitzahl, Ort, Land.

                Mehr als einen irgendwie gearteten String kann man allerdings nicht als Rückgabe vom Benutzer erwarten.

                Sonderzeichen filtern? Wieso? Sorge dafür, dass alle Sonderzeichen am Ende auch wieder ausgegeben werden können, also z.B. auf das Adressetikett gelangen.

                - Sven Rautenberg

                --
                "Love your nation - respect the others."
                1. Hallo,

                  Ob's einem etwas bringt, ist allerdings die zweite Frage.

                  Oder besser die Erste ;)

                  Danke für deine Hilfe!

                  Grüße, Matze

              2. Hallo Matze!

                Genau das ist jetzt mein Problem.
                Ich schreibe gerade einen Shop mit Hauptzielgruppe Deutschland / Schweiz.
                Da fängt es schon an. Ich hab nämlich keine Ahnung wie es sich bei unserem Landesnachbar mit den Adressen verhält.

                In der Schweiz sind die Postleitzahlen 4-stellig, also 4 Ziffern, vorangestellte 0 kommt nicht vor und auch keine anderen Zeichen. Allerdings wird im internationelen Verkehr meist CH vorangestellt, was oft auch mit Bindestrich geschieht. Wie bei diesem exklusiven Ort mit deutscher und schweizerischer Postleitzahl. Ansonsten gelten für die Schreibweise der Adressen die gleichen Regeln nach Duden wie in Deutschland auch.

                Beste Grüsse aus dem Emmental.
                Richard

                1. Hallo Richard,

                  ...Ansonsten gelten für die Schreibweise der Adressen die gleichen Regeln nach Duden wie in Deutschland auch.

                  Das ist schon mal gut zu wissen! Danke!
                  Wie gesagt, müsste ich aber eine Vielzahl an Ländern entsprechend beachten. Mir erscheint der Aufwand-Nutzen-Faktor da nicht mehr passend.
                  So werde ich also so ziemlich alles akzeptieren müssen was der Kunde dort rein tippen will.

                  Danke trotzdem für den Hinweis!

                  Grüße, Matze

  2. Das uferte wohl ganz schön aus :D

    Tutorials in dem Sinne meinte ich nicht. War eine schlechte Formulierung dafür.

    Das Buch "Professionell mit PHP5 programmieren" habe ich, allerdings hat das genau in der Hinsicht OOP nur Standardkost zu bieten..

    1. Moin!

      Das uferte wohl ganz schön aus :D

      Threaddrift - sowas ist normal.

      Tutorials in dem Sinne meinte ich nicht. War eine schlechte Formulierung dafür.

      Das Buch "Professionell mit PHP5 programmieren" habe ich, allerdings hat das genau in der Hinsicht OOP nur Standardkost zu bieten..

      Vielleicht ist OOP nur Standardkost, und die von dir vermutete Magie existiert gar nicht?

      Vielleicht können wir die dich interessierenden Punkte herausdiskutieren?

      - Sven Rautenberg

      --
      "Love your nation - respect the others."
      1. Ich glaube, ihr versteht mich nicht oder ich drücke mich falsch aus. OOP und was dazu gehört ist mir alles geläufig.

        Ich hatte das Bsp. mit der Autovermietung angebracht, weil das fast überall als Einstieg in OOP benutzt wird. So etwas Konkretes und "Einfaches" suche ich eben _nicht_.

        Was ich suche, sind insbesonder Beispiele, wo z. B. MVC so gut wie möglich umgesetzt wurde, damit ich mir dort die Vorgehensweise anschauen kann.

        Natürlich könnte ich jetzt wieder anfangen, das komplett ohne Hilfe auf die Beine zu stellen, aber ich fürchte, ich verfalle wieder in mein altes Denkmuster und dann kommt das raus, was ich immer mache. Deswegen brauche ich neue "Inspiration" :)

        Ich arbeite zwar beruflich mit PHP, aber ich habe niemanden, mit dem ich mich über dieses Thema austauschen könnte, weil a. alles noch auf php4 läuft und b. die ganzen Applikationen auf Geschwindigkeit getrimmt sind.

        1. Moin!

          Was ich suche, sind insbesonder Beispiele, wo z. B. MVC so gut wie möglich umgesetzt wurde, damit ich mir dort die Vorgehensweise anschauen kann.

          Ich hab da irgendwie ein Abstrahierungs- oder Konkretisierungsproblem. Mir würde es persönlich vermutlich gar nichts bringen, irgendeine konkrete MVC-Realisierung anzuschauen, wenn ich mit der darüber hinaus nichts weiter zu tun habe. Auch die Forderung "möglichst gut umgesetzt" ist ja nun alles andere als belastbar und handfest - nach welchen Kriterien definiert sich denn "gut"?

          Umgekehrt sind natürlich abstrakte Beschreibungen von MVC nicht wirklich geeignet, sie als C&P-Vorlage für eigene Lösungen zu nutzen. Da kommt's also wirklich auf Programmiererfähigkeiten an: Die abstrakte Beschreibung zusammen mit der konkreten Problemlage zu einer konkreten Lösung umsetzen. Und diese Lösung ist dann logischerweise höchst individuell gestrickt. Die Grundzüge würde vermutlich jeder so machen, die Details nicht.

          Natürlich könnte ich jetzt wieder anfangen, das komplett ohne Hilfe auf die Beine zu stellen, aber ich fürchte, ich verfalle wieder in mein altes Denkmuster und dann kommt das raus, was ich immer mache. Deswegen brauche ich neue "Inspiration" :)

          Ich arbeite zwar beruflich mit PHP, aber ich habe niemanden, mit dem ich mich über dieses Thema austauschen könnte, weil a. alles noch auf php4 läuft und b. die ganzen Applikationen auf Geschwindigkeit getrimmt sind.

          Ich glaube, du bist in einem sehr gut geeigneten Forum gelandet, um dich zu fortgeschritteneren Programmierthemen auszutauschen. Sozusagen das "intelligente Buch" - gibt dir die Antworten, die zu deinen Fragen passen, und oftmals noch deutlich mehr zum Weiterdenken.

          - Sven Rautenberg

          --
          "Love your nation - respect the others."
    2. Hallo,

      Das uferte wohl ganz schön aus :D

      Ja, entschuldige bitte. Ich habe deinen Thread da wohl ein bisschen missbraucht. SCNR

      Das Buch "Professionell mit PHP5 programmieren" habe ich, allerdings hat das genau in der Hinsicht OOP nur Standardkost zu bieten..

      Jetzt versuch ich aber auch wenigstens dir ein bisschen zu helfen.
      Speziell zum Thema Autovermietung wirst du wenig finden, das Thema ist
      wahrscheinlich zu speziell.
      Aber bei Dynamic Web Pages findest du eine Menge "Tutorials" oder Codeschnipsel oder was auch immer.

      Zum Teil sehr gut beschrieben. Du solltest aber nichts übernehmen, sondern auch verstehen lernen warum manchmal steht was da steht. So weißt du auch wie du kommende Probleme vermeiden kannst (Register Globals, Superglobale und solche "Hürden").

      Ich hoffe ich konnte dir helfen.

      Grüße, Matze