PHP und HTML Code trennen

xpath

Grünschnabel
Hallo,

Ich habe eine Applikation in PHP geschrieben. Dies ist mittlerweile recht umfangreich und sehr unflexibel für Änderunen und langsam in der Codeausführung geworden.

Jetzt würde ich den PHP code gerne vom HTML Teil trennen.

Gibt es hier Möglichkeiten das automatisch machen zu lassen?
Ich war schon auf der smarty Seite, aber ist das das richtige für solch eine Trennung? ...das sieht eher danach aus, als müsste man dies schon vor dem Applikationsdesign festlegen.


Mein Problem ist, dass die fertigen files schon vorhanden sind.

Am liebsten wäre mir, wenn das automatisch (also 1 PHP file einlesen -> 2 files herausbekommen(HTML + PHP), ohne viel selbst coden geht(es sind nämlich schon an die 100 PHP files).

Bin für jeden Tipp dankbar.
 
Also wenn du einen Script schreibst oder findest der PHP/HTML Mix in 2 Dateien trennt,
dann sag mir bitte sofort Bescheid. Dafür würde ich dir einen ausgeben.

Nein, du wirst wohl die gute alte Handarbeit benutzen müssen und PHP aus HTML
heraustrennen. Dann bindest du in PHP eine Templateengine deiner Wahl ein und
baust das HTML in Templates ein um die von der TEngine mit Daten füllen zu lassen.
 
das mit dem automatischen Trennen halte ich auch für futuristisch.
Aber um noch mal auf Smarty zurückzukommen. Ich benutze es und kann nur sagen, es ist eine Supersache und gar nicht so schwer, wie es auf den ersten Blick vielleicht wirkt. Das mit dem Design vorab stimmt schon, da jeder MVC-Ansatz sich bewußt mit den einzelnen Komponenten auseinander setzt. Vielleicht auch ein guter Punkt für dich, dir über ein Redesign Gedanken zu machen.
 
Hallo,

Danke für die Hinweise.

Weiß jemand wie ich meine PHP Seiten schneller machen kann?

Helfen da die tools von Zend (engine, optimizer, usw...)?

Würde es helfen, wenn ich den PHP Teil vom HTML Teil trenne? Auf manchen Seiten habe ich gelesen, dass der Code dadurch nicht schneller wird, stimmt das?
-> Macht smarty den Code schneller?


Gibt es irgendwelchen anderen tools ?

Bin für jeden Hinweis dankbar.
 
xpath hat gesagt.:
Weiß jemand wie ich meine PHP Seiten schneller machen kann?
Du hast ja nicht so viel über Deinen Code geschrieben, daher ein Rat ins Blaue von mir:
Man kann viel sparen, wenn man Datenbank-Queries vermeidet.
Vor allem Abfragen über zwei Tabellen, wo in der ersten Abfrage z.B. ID's der zweiten Tabelle ermittelt werden und die zweite Tabelle dann in einer Schleife für jede dieser ID's einmal abgefragt wird, kosten viel Zeit.
Meist kann man sowas mit einem JOIN in einer einzigen Abfrage lösen. Das ist wesentlich schneller. Noch einen draufsetzen kann man mit Query-Cache, wenn sich die Tabellen nicht so häufig ändern.
Fast immer ist es besser, wenn Du Queries zusammenfassen kannst, dieses auch zu tun.

Ich denke mal, ein Template-System, also Code von Design trennen, wird minimal langsamer sein. Schließlich müssen die Platzhalter herausgesucht und gefüllt werden. Der wesentliche Vorteil liegt in der besseren Übersicht und dieser Vorteil ist, wie Du vielleicht gerade selber feststellst, entscheidend, wenn man an dem Code oder dem Design etwas ändern will. Zeit bei der Ausführung spart man woanders und eventuelle Zeitnachteile bei der Trennung fallen sicherlich nicht ins Gewicht.

Ansonsten machst Du mit viel Handarbeit Deinen Code schneller. Umfangreiche Berechnungen, die mehrfach verwendet werden, sollte man nur einmal machen und zwischenspeichern. Was keine Schleife benötigt, sollte auch keine bekommen. Wenn man Dateien öffnet, sollte man jede Datei nur einmal öffnen. Datenbankverbindungen sollte man nur einmal im Code öffnen. Statt Strings in einer touring-ähnlichen Weise selbst zu parsen, sollte man einen regulären Ausdruck verwenden. Es gibt bestimmt noch viele Dinge, die den Code langsam machen können.

Gruß hpvw

PS: Ich hatte mal einen Test zwischen [phpf]readdir[/phpf] und [phpf]glob[/phpf]. [phpf]readdir[/phpf] war schneller.
 
Hallo,

Ok, also konkret geht es mir einmal darum, dass mein Code schneller wird. Danach werde ich mir Gedanken bezüglich Smarty machen.

Leider habe ich die Files sehr unsauber programmiert (wie es scheint).

Ich erwarte nicht, dass mir jemand jetzt den ganzen Code umprogrammiert, aber wäre super, wenn Ihr einen Blick auf
die 2 files machen könnt' und vielleicht fällt euch gleich der eine oder andere "speedkiller" auf. Das wäre wirklich super!
Anbei das zipfile mit den 2 FIles die mir Probleme bereiten:

Hier der Link zu dem langsamen Code (zipfile)

Danke euch für jeden Hinweis!
 
Zurück