php.de

Zurück   php.de > Webentwicklung > Software-Design

Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.05.2010, 15:48  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.069
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard Smarty 3

Hallo,

kann mir jemand von euch erklären, warum er Smarty oder eine andere Templateengine verwendet? Ich meine jetzt nicht Views und die Vorteile, sondern tatsächlich eine Engine mit eigener Syntax.

Ich hab gestern im PHP Magazin den Artikel über Smarty 3 und die neuen Funktionen und die neue Syntax gelesen und frag mich jetzt ernsthaft was dieser Blödsinn soll. Die neue foreach-Syntax sieht aus wie bei PHP, eigentlich die gesamte Syntax wurde PHP'fiziert und man kann - fantastisch - nun auch einfach Arrays im Template definieren. Kann ich doch mit PHP auch alles?

Der wirklich einzigste Vorteil von soetwas wie Smarty ist doch, dass man die Templates einer Person überlassen kann, der man nicht vertraut und die somit keinen Zugriff auf PHP-Funktionen haben soll oder? Gibts es noch irgendeinen Vorteil ... mir ist völlig unklar was diese zusätzliche Schicht an Nutzen bringen soll? Würde mich über eine Antwort von aktiven Nutzern von Templateengines freuen, werde auch keine Missionierung starten, mich interessiert einfach nur die Motivation.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.05.2010, 16:09  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.425
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

ich habe einst auch Smarty genutzt und zwar schlicht aus dem Grund, dass sich damit mit äußerst geringem Aufwand eine Trennung zwischen Applikations-Logik und Ausgabe-Logik erreichen ließ. Mit ausgeschalteten {PHP}-Tags kam der zweite Grund der Sicherheit auch noch hinzu, den du ja schon selbst nanntest. Dazu ist die Syntax leicht zu erlernen, auch für Menschen, die sonst mit Programmierung nicht so viel am Hut haben und sich nicht in eine recht komplexe Programmiersprache wie PHP einarbeiten wollen. Insbesondere wenn OOP ins Spiel kommt, sind Template-Module bzw. Views recht komplex für Designer, die sich noch nie mit Programmierung und Anwendungsdesign auseinandergesetzt haben.
Allerdings habe ich irgendwann aufgehört, Smarty zu nutzen, weil es einfach zu viele Features bekam, die niemand braucht und der Vorteil der heruntergebrochenen Komplexität verloren ging. Außerdem verleiteten sie dazu, vieles, was eigentlich Anwendungs-Logik ist, schnell ins Template zu pfuschen. Ich habe dann mal darüber nachgedacht, XSLT als Template-Sprache zu verwenden, aber das ist noch komplexer. Mittlerweile nutze ich lieber MVC bzw. MVC-ähnliche Ansätze oder simple Template-Sprachen wie sie z.B. in Silverstripe implementiert sind.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 01.05.2010, 16:31  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Ich will auch nicht missionieren, aber mal wieder Twig ins Feld führen. Die machen imho vieles richtig und haben auch eine Begründung:
Twig - The flexible, fast, and secure template language for PHP
Why yet another template language?

Mit MVC sehe ich den Sinn auch nicht mehr, weshalb ich noch kein wirkliches Projekt hatte, das ich mit Twig ansetzen konnte. Ich finde aber die Erweiterbarkeit, die Sandbox und die foreach/else-Konstrukte ganz sexy. Templatevererbung und Subtemplates haben IMHO auch ihre Berechtigung. Und I18n endlich mal ins Template zu verlagern, ist auch cool. Ansonsten benuzte ich immer noch PHP, aber manchmal stören mich die sperrigen Tagklammern schon, das muss ich zugeben.

XSLT käme für mich nicht in Frage, weil es immer xml-valide Templates voraussetzt. In einem Versuch, bei dem ich eine verschachtelte xml-Struktur in eine lineare umsetzen wollte, konnte ich mich nicht für dieses Prinzip begeistern, denn das ging nur über einen blöden PHP-Hack. Zudem wirkt XSLT extrem sperrig, wenns ans eingemachte geht.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 10.05.2010, 23:42  
Neuer Benutzer
 
Registriert seit: 08.04.2010
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
literal befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Ich will auch nicht missionieren, aber mal wieder Twig ins Feld führen.
++ für Twig.

Der größte Nutzen einer Template-Engine liegt m. E. abgesehen von den viel besser lesbaren Templates darin, eine saubere Trennung zwischen Programmierer und Gestalter/HTML-Sklave () zu vollziehen, wenn mehrere Leute an einem Projekt arbeiten.

Zu erwähnen wäre übrigens noch die Möglichkeit, in Twig Makros zu schreiben, die z. B. häufige (HTML-oder-was-auch-immer-)Konstruktionsaufgaben abstrahieren können. Finde ich ganz schön, wenn die low-level Präsentationslogik im Template-Kontext verwirklicht wird - auch hier wieder vor allem mit Bezug auf Entwicklung im Team.
literal ist offline   Mit Zitat antworten
Alt 11.05.2010, 08:16  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard

Ihr nervt doch...

Ich hab mich jetzt endlich mal wieder auf ein ruhiges WE gefreut mit ner Runde gemütlichen Programmieren und nu muss ich mir TWIG anschauen, weils sichs einfach geil anhört und mich Smarty mittlerweile bisl langweilt...
__________________
"My software never has bugs, it just develops random features."
"Real programmers don't comment. If it was hard to write, it should be hard to understand!"
Positive Bewertungen sind nicht unwillkommen...
Paul.Schramenko ist offline   Mit Zitat antworten
Alt 11.05.2010, 14:01  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.425
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Ach, du tust uns aber leid. Das haben wir so nicht gewollt.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 11.05.2010, 14:22  
Erfahrener Benutzer
 
Registriert seit: 08.08.2008
Beiträge: 127
kerstel befindet sich auf einem aufstrebenden Ast
Standard

habt ihr erfahrung was die performance angeht? Gerade im Unterschied zwischen Smarty und Twig?
kerstel ist offline   Mit Zitat antworten
Alt 11.05.2010, 14:34  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard

Hmmm ja das würde mich auch interessieren.
__________________
"My software never has bugs, it just develops random features."
"Real programmers don't comment. If it was hard to write, it should be hard to understand!"
Positive Bewertungen sind nicht unwillkommen...
Paul.Schramenko ist offline   Mit Zitat antworten
Alt 11.05.2010, 15:08  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

Benchmarks findet man z.b. hier:

Templating engines in PHP - Follow-Up - Fabien Potencier

inklusive download um sie selbst nachzustellen.
robo47 ist offline   Mit Zitat antworten
Alt 11.05.2010, 16:22  
Erfahrener Benutzer
 
Registriert seit: 08.08.2008
Beiträge: 127
kerstel befindet sich auf einem aufstrebenden Ast
Standard

wenn das stimmt, spricht ja einiges für twig, mal schauen wann ich zeit und lust habe es nachzubilden
kerstel ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Fragen zu Smarty im Bezug auf OOP/Caching Yanko PHP Tipps 2010 3 16.01.2010 15:53
[Erledigt] Problem mit Smarty extend Powie PHP Tipps 2009 17 02.01.2010 23:36
Smarty und das MVC [-UFO-]Melkor Software-Design 11 29.12.2008 13:01
Smarty Templates & ZF KeKs0r PHP-Fortgeschrittene 6 24.12.2008 16:20
Smarty + MySQL = immer falsche Ausgabe m0use` PHP Tipps 2006 44 21.11.2008 20:30
Problem mit Smarty ccfirefox HTML, Usability und Barrierefreiheit 1 25.10.2007 16:19
Was ist Aufgabe des Templates (Smarty), was nicht? agrajag PHP Tipps 2007 8 24.02.2007 13:19
Smarty => 1ste allgemeine Verunsicherung Canni PHP Tipps 2006 7 10.10.2006 17:56
Smarty + Oop Problem Komandar PHP Tipps 2006 5 25.07.2006 14:36
Smarty verschachtelt snatch-ic PHP Tipps 2006 16 28.02.2006 20:54
Frage zu Smarty PHP Tipps 2005-2 10 07.07.2005 14:49
Smarty Error Simon9990 PHP Tipps 2005-2 8 07.07.2005 09:34
Smarty und X-Cart Profis gesucht Beitragsarchiv 1 21.05.2005 13:38
[Erledigt] includepathproblem pear blockiert smarty und umgekehrt PHP Tipps 2005 1 08.05.2005 18:46
was ist schneller smarty, oder normaler php code? eQuin PHP-Fortgeschrittene 2 03.09.2004 11:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
smarty 3, smarty 3 tutorial, smarty 3.0, smarty 3 features, smarty 3 performance, smarty 3 benchmark, smarty3 i18n, smarty 3 php, smarty, twig smarty, performance smarty3, smarty 3 vs twig, vorteile smarty 3, smarty3 tutorial, smarty3 performance, smarty 3 tutorial deutsch, \smarty 3 benchmark\, twig smarty performance, smarty3 benchmark, twig smarty 3

Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum