Frage zur Code-Strukturierung

  • Nabend zusammen,


    ich war gerade dabei den PHP-Code meiner Seite ein wenig zu überarbeiten. Dieser sieht aktuell so aus:


    kontakt.php



    functions.php



    Das, was mir daran noch nicht gefällt, ist die Tatsache, dass ich in der kontakt.php eigentlich zweimal den selben Code habe. Nämlich von Zeile 69-101 und von 103-135.


    Die Frage wäre jetzt im Prinzip, ob es Sinn macht den Code in einer Funktion zusammenzufassen. Der Grund dafür, dass ich es bisher noch nicht gemacht habe, ist, dass ich dann in der Funktion nochmals Funktionen aufrufen müsste und da bin ich mir nicht sicher, ob das so sinnvoll ist. Außerdem wäre dies ja keine klassische Funktion, wie z.B. meine validateFormData(), die einen klaren Zweck hat und eine Aufgabe erledigt. Die Funktion, in der ich dann den doppelten Code zusammenführen würde, wäre einfach nur dazu da, fast den ganzen "Programmablauf" auszuführen und das ist doch eher nicht der Sinn einer Funktion, würde ich sagen.


    Was würdet ihr an meiner Stelle machen?


    Bin auch gerne offen für ganz andere Ideen.


    Bedanke mich schon mal für eure Ratschläge. :)


    Gruß
    JR Cologne

  • Gut, dass du fragst.


    Deine Fragen lassen sich auch recht shcnell beantworten:


    Funktionen sind dazu gedacht mehrfach vorkommende Programmabläufe bereitzustellen. Wenn du also 2 mal das Gleiche machst, schreibe es in eine Funktion.


    Funktionen aus Funktionen aufrufen ist in der Programmierung Alltag und erfüllt durchaus seinen Sinn. In rein objektorientierten Sprachen z. B. gibt es außerhalb von Funktionen nicht mal Programmablauf.


    Einen Verbesserungsvorschlag habe ich auch noch. Und zwar handhabe ich PHP und Javascript so wie CSS, ich halte es (weitesgehend) aus dem HTML Bereich heraus. Dazu sammle ich alles, was später dynamisch ausgegeben werden soll (wie bei dir in Zeile 91 und 93,...) in Variablen und gebe diese dann mit Kontrollstrukturen im HTML Teil aus. Das sorgt so für wesentlich mehr Übersicht.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!