php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 03-07-2011, 01:33
mainclain
 Registrierter Benutzer
Links : Onlinestatus : mainclain ist offline
Registriert seit: Dec 2006
Beiträge: 58
mainclain ist zur Zeit noch ein unbeschriebenes Blatt
mainclain eine Nachricht über ICQ schicken
Standard Was als Template Engine nutzen?

Hallo,
zu aller erst: ich habe schon die Suche genutzt, einiges relativ passendes auch schon gefunden, aber hab noch immer so meine Bedenken.

Also ich habe mir in Laufe der letzten Tage 2 Möglichkeiten für mein "Template Problem" rausgesucht.

Darunter sind natürlich
- eigenes Template-System
- Smarty o.ä.
- PHP verwenden
- XSLT

Allerdings habe ich bei einigen schon deutliche Nachteile gefunden.

geh ich mal der reih nach um:
- eigenes Templatesystem
Macht natürlich zum einen viel Arbeit (so Grundsätzliches habe ich schon wie Variablen oder Schleifen, allerdings nicht verschachtelt.), zum anderen sollen ja Template-Systeme ziemlich an den Resourcen fressen.
- Smarty
Naja, noch nicht viel reingeguckt, scheint ja sehr mächtig zu sein, vll zu mächtig?
- PHP verwenden
Ja das wäre wohl meine liebste Methode. Da frage ich mich nur, wie es mit der Sicherheit aussieht. Eigentlich sollen ja nur, Funktionen die ich definiert habe, Ausgabe von Variablen, Schleifen und If-Abfragen ausgeführt werden.
Gibt es eine Möglichkeit, für bestimmte Dateien andere Funktionen zu verbieten?
Habe da bisher nur eine Whitelist Methode unter eval entdeckt, die für das Abspeichern der Templates reichen würde (verbotene Funktionen entdeckt = Template kann nicht gespeichert werden), aber da diese auch nur die Templates nach den bestimmten Strings durchsucht... (und ich glaube eval, selber war z.B. nicht mit drin^^)



Die Kurzformen von PHP, die man im Internet findet, wie z.b. <?=$var ?>, diese können durch eine Konfigurations-Option abgeschaltet werden oder irre ich mich da?
- XSLT
Heute ausgetestet, war aber nichts. Nicht nur, das ich mit einigen Dingen Probleme hatte, ich fand es auch viel unübersichtlicher als bei den anderen Methoden.
Habe auch gelesen, das es bei größeren Sachen langsamer wird.


Ich habe noch ein wenig drüber nachgedacht und denke, PHP ist und bleibt mein Favorit.
Wie ist eigentlich die Standartkonfiguration der meisten Server? Shorttags erlaubt oder nicht?

Geändert von mainclain (03-07-2011 um 03:08 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 03-07-2011, 13:23
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Seit PHP 5.4 ist <?= auch dann noch möglich, wenn short_open_tags disabled sind.

XSLT ist imho die beste Wahl, wenn man Templates vorverarbeiten will, z.B. auf syntaktische Korrektheit prüfen, und wenn man aus den selben Templates verschiedene Ausgabeformate erzeugen möchte.

Ansonsten ist PHP tatsächlich völlig ausreichend.

Wenn du Sicherheitsbedenken hast, z.B. weil User Templates bearbeiten dürfen und dabei potenziell gefährlichen Code einbauen könnten, dann schau dir mal Twig an.
Mit Zitat antworten
  #3 (permalink)  
Alt 03-07-2011, 14:18
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.593
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von onemorenerd Beitrag anzeigen
Wenn du Sicherheitsbedenken hast, z.B. weil User Templates bearbeiten dürfen und dabei potenziell gefährlichen Code einbauen könnten, dann schau dir mal Twig an.
Einen 0815-User würde ich auf keinen Fall mit so einer Template-Engine arbeiten lassen, weil es einfach zu viel Verantwortung mit sich bringt. Einmal einen Wert nicht korrekt escaped, und schon sind XSS-Attacken möglich.

Mal davon abgesehen halte ich von solchen Smarty-Like Template-Engines überhaupt nichts. Die sind weder Fisch noch Fleisch. Der Programmierer muss eine neue Sprache lernen und der Designer muss eine neue Sprache lernen. Wozu der Aufwand? Warum sich nicht auf eine Sprache einigen, die beide können? Bzw. im schlimmsten Fall muss nur eine Person eine neue Sprache lernen, aber nicht alle zwei.

Und die wenigsten Editoren kommen mit so einer nicht standardisierten Syntax zurecht.

Geändert von h3ll (03-07-2011 um 14:23 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 03-07-2011, 16:14
mainclain
 Registrierter Benutzer
Links : Onlinestatus : mainclain ist offline
Registriert seit: Dec 2006
Beiträge: 58
mainclain ist zur Zeit noch ein unbeschriebenes Blatt
mainclain eine Nachricht über ICQ schicken
Standard

Okay vielen Dank für eure Antworten.

Zitat:
Zitat von onemorenerd Beitrag anzeigen
Seit PHP 5.4 ist <?= auch dann noch möglich, wenn short_open_tags disabled sind.
Naja man kann ja glücklich sein, wenn Leute 5.3 auf dem Server installiert haben

Zitat:
Zitat von onemorenerd Beitrag anzeigen
XSLT ist imho die beste Wahl, wenn man Templates vorverarbeiten will, z.B. auf syntaktische Korrektheit prüfen, und wenn man aus den selben Templates verschiedene Ausgabeformate erzeugen möchte.
Ja ich fands auf jeden Fall recht kompliziert.
Vorallem wenn es darum geht, dass der User eben nicht noch eine neue Sprache lernen muss. Und da ist XSLT ja sehr komplex.

Zitat:
Zitat von onemorenerd Beitrag anzeigen
Ansonsten ist PHP tatsächlich völlig ausreichend.

Wenn du Sicherheitsbedenken hast, z.B. weil User Templates bearbeiten dürfen und dabei potenziell gefährlichen Code einbauen könnten, dann schau dir mal Twig an.
Okay, von Twig hab ich schon gehört, werde es mir nochmal ansehen.
Ich werde wahrscheinlich dennoch bei PHP bleiben (Aber gut erstmal gucken :P)


Zitat:
Einen 0815-User würde ich auf keinen Fall mit so einer Template-Engine arbeiten lassen, weil es einfach zu viel Verantwortung mit sich bringt. Einmal einen Wert nicht korrekt escaped, und schon sind XSS-Attacken möglich.
Ich weiß ja nicht, wie die 0815-User drauf sind, aber warum sollten die sich damit beschäftigen? Die meisten werden bei Veränderungen max. Copy/Paste von anderen Stellen durchführen. ^^

Geändert von mainclain (03-07-2011 um 16:25 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 04-07-2011, 09:51
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.593
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von mainclain Beitrag anzeigen
Ich weiß ja nicht, wie die 0815-User drauf sind, aber warum sollten die sich damit beschäftigen? Die meisten werden bei Veränderungen max. Copy/Paste von anderen Stellen durchführen. ^^
Wenn du damit leben kann, dass Nicht-Programmierer die Webseite lahmlegen können, dann ist ja alles OK...
Mit Zitat antworten
  #6 (permalink)  
Alt 06-07-2011, 12:34
Benutzerbild von ApoY2k ApoY2k
 Registrierter Benutzer
Links : Onlinestatus : ApoY2k ist offline
Registriert seit: Nov 2006
Beiträge: 359
ApoY2k befindet sich auf einem aufstrebenden Ast
ApoY2k eine Nachricht über ICQ schicken ApoY2k eine Nachricht über Skype™ schicken
Standard

Bin eigentlich auch ein Verfechter von reinem PHP-Code, da sich damit einfach alles machen lässt.

Allerdings arbeite ich mittlerweile oft mit dem bereits erwähnten Twig (da es so wunderhübsch in Symfony2 integriert ist) und finde es eigentlich sehr angenehm.

Im Grunde ist es ja nichts anderes als eine Abkürzung für PHP, da die ganzen Tags beim Cachen sowieso durch PHP ersetzt werden, d.h. im Endeffekt spart man sich damit nur beim Erstellen ein bisschen Zeit.

Auswirkungen auf die Performance hat sowas tendenziell eher nicht, da die Templates ja nicht bei jedem Request neu geparsed, ersetzt und interpretiert werden, sondern beim ersten Aufruf gecached werden und danach immer die gecachte (PHP) Variante aufgerufen wird.

Wenn du dein System immer weiter ausbaust, wirst du früher oder später soweit sein, dass du deine PHP-Templates auch mit einem Framework selbst verwaltest, und spätestens da kannst du genau so gut auch ein bereits bestehendes verwenden...
__________________
This is what happens when an unstoppable force meets an immovable object.
Mit Zitat antworten
  #7 (permalink)  
Alt 06-07-2011, 17:19
phpsven
 Banned
Links : Onlinestatus : phpsven ist offline
Registriert seit: Jan 2010
Beiträge: 39
phpsven befindet sich auf einem aufstrebenden Ast
Standard

hallo mainclain

da möchte ich dir doch mein easy Template mal vorstellen, weil es genau das bringt was du zu suchen scheinst.

hier mal der Link:
Easy Template 2.2 Script php-resource.de

falls du fragen hast ich bin gern bereit zu antworten und zu helfen

phpsven
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Template Engine BoFiaZ PHP Developer Forum 26 10-10-2008 22:08
Bison Template Engine frido37 User pages 37 17-07-2007 14:30
XSLT-Template-Engine MaxPayne XML 10 14-08-2006 12:36
Template Engine pgmnetworks Apps und PHP Script Gesuche 2 08-04-2004 12:21

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:21 Uhr.