Wie programmiert ihr?

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

  • #31
    Tja, ich verwende Smarty mit ein paar selbst geschriebenen Erweiterungen. Das ist ein guter Kompromiss.

    Smarty erlaubt in den Templates gerade soviel Logik wie nötig und so wenig wie möglich. Das ist genau mein Ding

    Das ist aber alles Ansichtssache. An der Uni hatten wir mal einen Spezi, der den Output von PHP Seiten mit XSLT erstellt hat. Weil's "modern" wäre. Diese "Webseiten" haben nicht lange überlebt - der nach ihm kommende Hiwi konnte nämlich damit nicht umgehen. Deshalb wurde alles wieder eingestampft.

    Dann gibt's die Leute, welche gar keine Skins/Templates schreiben sondern in XML die Struktur der Datenbank beschreiben und sich alle Formulare automatisch erzeugen lassen. Nicht sehr hübsch, aber übersichtlich und für manche Anwendungen reicht das schon.

    Ich kenne jemand, der hat ein umfangreiches OO PHP-Skript zu betreuen, welches Smarty verwendet... nicht das es etwas genützt hätte. Er weigert sich konsequent Smarty zu benutzen, weil er angeblich mit diesen Templates nichts zu tun hätte. Stattdessen erzeugt seine Template Engine nichts als eine leere HTML-Datei und alles was zwischen dem öffnenden und schliessenden Body-Tag steht, wird in seinem PHP-Code erzeugt, wo es seiner Meinung nach "schliesslich auch vom Sinn her hin gehört, weil ja dort auch der passende Code steht".
    Für jemanden wie mich, dessen Herz an einer sauberen 3-Schichten-Architektur, Trennung von Business Logic, Daten und Layout, sowie an der OO Programmierung hängt, ist das natürlich ein Graus. Aber für Leute die in der prozeduralen Programmierung zuhause sind und die grundsätzlich in Prozessen und Modulen denken ist das eine logische Entscheidung.

    Es kommt also immer auf den jeweiligen Standpunkt an. Deshalb wird es wohl niemals eine optimale Lösung geben, mit der man jeden zufrieden stellen kann.

    Kommentar


    • #32
      Mit einem Templatesystem sind aber Teiler der Logik und das Layout in einer Schicht vereint ?


      An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

      Kommentar


      • #33
        Nein. Weil die Darstellung von Daten im Allgemeinen nicht zur Business Logic sondern zum View gehört

        Kommentar


        • #34
          Original geschrieben von MaxP0W3R
          Mit einem Templatesystem sind aber Teiler der Logik und das Layout in einer Schicht vereint ?
          Das passiert nur wenn derjenige der das template macht, nicht
          versteht worum es geht. Die templates haben zugriff auf das
          model und renderen den aktuellen status. In diesem moment
          ist das model aber als readonly anzusehen.

          greets
          (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

          Kommentar


          • #35
            Ich bevorzuge eine klare Trennung von Logik und Ausgabe. Deswegen benutze ich das das Templatesystem Smarty und bin bisher vollstens zufrieden.

            Kommentar


            • #36
              Original geschrieben von bluma
              Ich bevorzuge eine klare Trennung von Logik und Ausgabe. Deswegen benutze ich das das Templatesystem Smarty und bin bisher vollstens zufrieden.
              Und wir machen uns deshalb gerade die Mühe, alles auf Smarty umzustellen, zumeist im Rahmen eines ohnehin vorgesehenen Updates.
              Ist zwar einerseits eine riesiger Aufwand, aber erleichtert später den Support, insbesondere nach Personalwechsel etc.

              An erster Stelle der Anpassungswünsche der Kunden kommen nach unserer Erfahrung ohnenhin Änderungen des Outputs.
              Hier war aber ohne Smarty manchmal ganz schön was zu tun, insbesondere, wenn mal ein anderer ran mußte.

              Und mit Smarty kann man durch eigene Plugins Script-Änderungen sehr gut abdecken.

              Kommentar


              • #37
                Original geschrieben von Guido
                Und wir machen uns deshalb gerade die Mühe, alles auf Smarty umzustellen, zumeist im Rahmen eines ohnehin vorgesehenen Updates.
                Ist zwar einerseits eine riesiger Aufwand, aber erleichtert später den Support, insbesondere nach Personalwechsel etc.

                An erster Stelle der Anpassungswünsche der Kunden kommen nach unserer Erfahrung ohnenhin Änderungen des Outputs.
                Hier war aber ohne Smarty manchmal ganz schön was zu tun, insbesondere, wenn mal ein anderer ran mußte.

                Und mit Smarty kann man durch eigene Plugins Script-Änderungen sehr gut abdecken.
                Der Vorteil liegt ganz klar darin, dass man meiner Meinung nach nachhaltiger programmiert und die ganze Prozedur für einen Außenstehenden einfacher macht sich reinzuarbeiten. Auch findet eine klare Trennung zwischen Programmierung und Output statt. Designer können übersichtlicher arbeiten und müssen nicht darum bangen hineingearbeitete Sachen zu zerstören. Und damit findet ein Konzentrationsprozess statt der förderlich ist.

                Kommentar


                • #38
                  Seit ich mich für nen Kunden in Joomla! einarbeiten musste, ist für mich vor allem ne Coding-Guideline wichtig. Wer Joomla! kennt, weiß was ich meine:

                  - Jedes Modul andere Dateistruktur
                  - Jedes Modul andere Core-Klassen wie DB etc.
                  - Jedes Modul entscheidet ob mit oder ohne Templates, PHP-Code in Templates oder Templates mit ersetzen, SQL-Queries in Templates etc.
                  - Mal werden für ein Languagepack tausende Konstanten definiert, mal werden dafür tausende von Klassenvariablen missbraucht


                  Wichtig ist vor allem, dass man sich da schnell reinarbeiten kann und dass das ganze Projekt GLEICH aufgebaut ist. Joomla! ist auf jedenfall ein Beispiel, wie man es NICHT machen sollte...
                  Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                  var_dump(), print_r(), debug_backtrace und echo.
                  Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                  Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                  Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                  Kommentar


                  • #39
                    Original geschrieben von Shurakai
                    Seit ich mich für nen Kunden in Joomla! einarbeiten musste, ist für mich vor allem ne Coding-Guideline wichtig. Wer Joomla! kennt, weiß was ich meine:

                    - Jedes Modul andere Dateistruktur
                    - Jedes Modul andere Core-Klassen wie DB etc.
                    - Jedes Modul entscheidet ob mit oder ohne Templates, PHP-Code in Templates oder Templates mit ersetzen, SQL-Queries in Templates etc.
                    - Mal werden für ein Languagepack tausende Konstanten definiert, mal werden dafür tausende von Klassenvariablen missbraucht


                    Wichtig ist vor allem, dass man sich da schnell reinarbeiten kann und dass das ganze Projekt GLEICH aufgebaut ist. Joomla! ist auf jedenfall ein Beispiel, wie man es NICHT machen sollte...
                    Mambo, das nun seit etwas längerer Zeit von seinem Bruder ungewollt getrennte Zwillingskind, ebenso.

                    Kommentar

                    Lädt...
                    X