Smarty

aKraus

Erfahrenes Mitglied
Hi,

ich habe ein paar allgemeine Fragen zu Smarty, auf die ich bisher noch keine Antworten gefunden habe.

Smarty ist ein Template System, welches mir von einem Informatikstudenten empfohlen wurde. Es bietet die Möglichkeit Templates zu cachen und dadurch sich ständig wiederholende Pageaufrufe nur einmal auszuführen. Ich selbst habe das Problem, dass sobald mehr als 600-800 Benutzer gleichzeitig auf meiner Communitypage online sind (somit rund 30 Seitenaufrufe pro Sekunde), mein Webserver ziemliche Performanceprobleme bekommt. Jetzt hätte ich vor, beispielsweise die Newsseite nur einmal zu erstellen und somit den PHP Compiler zu entlasten.

Aber - jetzt komme ich zu meinen eigenltichen Fragen - muss ich da die komplette Seite cachen? Ich meine, ein großteil der Newsansicht wird solange gleich bleiben, solange niemand eine News im Admininterface bearbeitet. Auf der Page selbst befinden sich aber Elemente, die von Benutzer zu Benutzer anders behandelt werden müssen. Im rechtem Menü wird die letzte Umfrage angezeigt, bis der eingeloggte Benutzer abgestimmt hat. Oder im linken Menü wird der Link zum Admininterface sichtbar, wenn der einloggte Benutzer Zugriffsrechte darauf hat. Zusätzlich hätte ich das ganze etwas ausgelagert - z.B. http://domain/news/$id/$page -> http://domain/news/1/20. Wobei $page in diesem Fall die Seite der Kommentare wären. Dies wäre wahrscheinlich simpel zu erstellen, aber wie ist das mit den Benutzerbildern? Derzeit speichere ich in der Datenbank den Link zum Bild und rendere diesen dann bei der Kommentaransicht. Ist die Seite jetzt allerdings gecached und ein Benutzer löscht sein Profilbild, würde ja theoretisch weiterhin das Profilbild angezeigt werden - oder?

In wie fern habt ihr bereits Erfahrungen mit Smarty gesammelt und könnt mir diese weitergeben? Ich bin über jede Antwort dankbar, allerdings ist mir bewusst, dass ich meistens ziemlich kompliziert versuche mein Problem darzustellen ;)
 
Hallo!

Smarty hab ich schon bei der foreach Schleife aufegeben. Die Manual empfinde ich nur als eine erweiterung dessen was der PHPDocumentor ausspuckt.

Was den Cache betrifft:

Was ich weis kannst du auch blockweise cachen. Wenn es ums Cachen geht nehme ich das ZendFramework. Ist zwar noch in der Entwicklung aber erspart jetzt schon umheimlich viel arbeit wenn es ums programmieren geht. Da hat man alles was man braucht: Chache nach APC, mem, file, sqlite genauso wie eine DB Abstraktionsschicht für so ziehmlich alle populären Internet Datenbanken.

Schau dir doch das mal bei gelegenheit an.

Viel Spass!
 
wieso machst du dir nicht einfach die leichtere Arbeit und generierst einfach eine kronkrete HTML Datei die immer nur dann neu geschrieben wird sobald jemand in der Administrations Oberfläche etwas hinzufügt.
Somit musst du die News nur ein einziges mal mit PHP Auslesen und Codieren und die HTML Datei gibt dein Webserver nur weiter an den Client und code oder decodet dabei nichts mehr. Somit hast du etwas perfomance gespart.

http://www.heise.de macht es so ähnlich die News seite ist immer eine Festgeneriert HTML Seite. Die der Webserver nur weiter gibt und nicht mit PHP und SQL encoded.

Hoffe ich konnte dir helfen.

MFG Meccan
 

Neue Beiträge

Zurück