1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Funktionen in eigene Dateien?

Dieses Thema im Forum "Theme-Vorstellung" wurde erstellt von TmoWizard, 12. November 2016.

  1. TmoWizard

    TmoWizard Well-Known Member

    Registriert seit:
    28. April 2010
    Beiträge:
    168
    Zustimmungen:
    0
    Hallöchen zusammen!

    Laut -->dieser Meldung<-- müßte ich hier mit meiner Frage ja eigentlich richtig sein.

    Vor einiger Zeit (April 2015) habe ich ja das Theme Calotropis übernommen, da die weitere Entwicklung von "itx" eingestellt wurde (letztes Update im Dezember 2010!). Nun bastle ich seither selbst daran und bereinige immer wieder Fehler, füge allerdings auch weitere Funktionen hinzu und genau hierzu habe ich nun folgende Frage:

    Es ist ja bekannt, daß Plugins ein Blog langsamer machen können. Ich habe nun einige direkt integriert, welche offenbar ebenfalls nicht weiter entwickelt werden. Diese sind jedoch als eigene *.php vorhanden und ich bemerke dabei, daß mein Castle trotzdem schneller lädt.

    Heute habe auch ich eine extra Funktion für eigene Smilies erstellt und frage mich nun, ob man das besser in eine bereits vorhandene Datei (z. B. die "funktions.php" würde hierfür passen) einbaut oder wie ich eine eigene dafür verwenden sollte?!?

    Es dreht sich dabei natürlich auch um die Ladezeit, wobei ich hier Glasfaser habe und daher das gar nicht richtig testen kann! Meine Ladezeit ist einfach zu schnell, so daß ich hier nicht wirklich etwas dazu sagen kann.

    Was meint ihr dazu?

    Soll ich besser


    1. eine bereits vorhandene Datei mit den neuen Funktionen erweitern oder
    2. wie bisher eine eigene Datei verwenden?

    Von der Wartbarkeit her ist klar, daß eine eigene Datei dafür wesentlich besser geeignet ist! Andererseits bedeuten aber mehr Dateien aber wohl auch eine langsamere Ladezeit, oder sehe ich das verkehrt?

    Es wäre nett, wenn ich dazu eine entsprechende Meldung bekäme. Immerhin mache ich das nur in meiner Freizeit, wobei mir die Arbeit an Calotropis schon irgendwie auch Spaß bereitet. Allerdings möchte ich nicht so arg viel Zeit damit verbraten wenn ich nicht einmal weiß, ob außer mir überhaupt jemand das Theme verwendet!

    Immerhin mache ich das nur nebenbei und bis jetzt bekam ich nur einen einzigen Kommentar dazu, welcher allerdings auch schon über ein Jahr (ebenfalls April 2015) her ist. Immerhin wäre es eine ziemliche Arbeit, wenn ich die ganzen Funktionen direkt integrieren würde, wobei es bei einigen tatsächlich kein Problem wäre.

    Hier stellt sich mir dann auch die Frage, ob man das wirklich alles in die "funktions.php" sollte oder besser auf verschiedene Dateien aufteilen soll?!? Immerhin sind "Optionen" ja keine "Funktionen", Calotropis bietet als Magazine-Theme von beiden allerdings eine ganze Menge!

    Was also meint ihr dazu? Eine eigene Datei pro Funktion oder eher nicht?


    Viele Grüße nun aus TmoWizard's Castle zu Augsburg

    Mike, TmoWizard
     
  2. helix

    helix Well-Known Member

    Registriert seit:
    28. Juli 2011
    Beiträge:
    1.808
    Zustimmungen:
    27
    Ich glaube, man muss da unterscheiden zwischen PlugIns und – PlugIns …

    Es gibt eine Vielzahl von PlugIns, die eigentlich zu viel zusammen in ein Paket schnüren: Extra-Funktionen, die nur wenige brauchen, Schnick und Schnack und nicht zuletzt eine Unmenge an schnell alt aussehenden Styles, die man dann mühsam wieder überschreiben muss. Das macht eine WordPress-Installation langsam. Und wenn PlugIns nicht sauber implementiert sind.

    Wenn du PlugIns schreibst, die dir genau die ergänzenden Funktionen liefern, die du auf deiner Seite haben willst, ist es genau richtig, die in PlugIns zu packen. Mindestens so lange, wie es sein kann, dass du eines Tages auf ein anderes fertiges Theme wechseln willst – und diese Funktionen dann genau wieder brauchst. (Ich persönlich arbeite sehr viel mit Extra-Funktionen in der functions.php des Themes, ich arbeite aber auch mit selbsterstellten Designs und kann davon ausgehen, dass ein möglicher Relaunch wieder auf Basis des ursprünglichen eigenen Themes gemacht wird – und wirklich nur die Optik umbürstet … – und nichtsdestotrotz lagere ich die dann aus Gründen der Übersichtlichkeit häufig trotzdem wieder in eigene Dateien aus.)

    Mit der Ladezeit gibt sich das ziemlich sicher nicht viel. Für Mobilgeräte kann sich tatsächlich die Ladezeit verlangsamen, wenn viele kleine Dateien geladen werden müssen. Aber meiner Einschätzung nach bewegt sich auch das trotzdem in einem Bereich, wo man sagen kann: für die Übersichtlichkeit ist es mir das wert.

    Gruß
    heli
     
  3. TmoWizard

    TmoWizard Well-Known Member

    Registriert seit:
    28. April 2010
    Beiträge:
    168
    Zustimmungen:
    0
    Hallöchen @helix,

    danke für deine Antwort! Dadurch, daß ich die Funktion in einer eigenen Datei erstellt habe ist es ja sehr einfach möglich, diese ähnlich wie bei Plugins auch in einem anderen Theme zu verwenden. Allerdings wird das bei mir wohl eher nicht passieren, dafür habe ich inzwischen zuviel Arbeit in Calotropis gesteckt!

    Mit dem eigenen Theme habe ich natürlich auch den Vorteil, daß ich damit nicht auf andere Anbieter angewiesen bin. Ich habe das ja dadurch bemerkt, daß der ursprüngliche Entwickler seit 2010 mit der Version 1.5.2 das Calotropis Theme und seine beiden anderen einfach aufgegeben hat! Deswegen habe ich das Ding ja übernommen und fehlerbereinigt als Calotropis Theme 2 auf meinem Castle veröffentlicht.

    Irgendwie gefallen mir die ganzen Möglichkeiten des Themes, außerdem habe ich für mich keinen passenden Ersatz gefunden! Ich müßte ein anderes Theme also erst einmal durch Plugins und eigene Anpassung auf mein Castle zurechtschustern, da bleibe ich dann doch lieber bei diesem Theme und mache damit weiter.

    So ähnlich sehe ich das auch, wobei Calotropis nicht für mobile Geräte gedacht ist! Diese Möglichkeit habe ich über das Plugin "WPtouch Mobile Plugin" eingebunden, das wäre mir dann doch zu viel Arbeit geworden.


    Grüße nun aus TmoWizard's Castle zu Augsburg

    Mike, TmoWizard
     
  4. pixselig

    pixselig Well-Known Member

    Registriert seit:
    8. Mai 2012
    Beiträge:
    2.301
    Zustimmungen:
    10
    Generell ist eine Trennung von Design und Funktionen sehr sinnvoll! Das Theme ist für das Design zuständig und die Plugins für die Funktion.

    Zu den PHP Dateien:
    Dies darf man nicht mit Dateien verwechseln welche tatsächlich an den Client ausgeliefert werden. PHP Dateien werden vom Webserver geladen und von dessen Interpreter ausgeführt. Das heißt, dass die Performance des Webservers ausschlaggebend ist für das Laden und Verarbeiten von PHP Dateien.

    Und da sind die Unterschiede marginal zwischen Funktionen in einer eigenen Datei oder zusätzliche in zBsp der functions.php. Dennoch kann eine grundsätzliche Strategie diesbezüglich schon von Vorteil sein, und ich würde dabei in den meisten Fällen zu eigenen Dateien raten, da dass erstens wesentlich übersichtlicher ist und man zweitens die Dateien ja auch flexibel vom Anwendungsfall abhängig laden kann (was unter anderem dem PHP Zwischenspeicher zugute kommt).

    Was aber in diesem Zusammenhang wesentlich wichtiger ist, man sollte sehr viel Wert auf möglichst wenige Datenbank Queries legen - das bringt in Summe wesentlich mehr.
     
  5. pixselig

    pixselig Well-Known Member

    Registriert seit:
    8. Mai 2012
    Beiträge:
    2.301
    Zustimmungen:
    10
    Zusatz: natürlich nicht jede Funktion in eine eigene Datei schreiben sondern in Gruppen bzw. Klassen (Stichwort: OOP) zusammenfassen.
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden