php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
Alt 15.08.2008, 22:21  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

noch eine...
David ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 15.08.2008, 23:44  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

@HStev:
Zitat:
nenn mir eine Alternative um PHP Code direkt auszuführen ohne den Output direkt auszugeben etwa eval?
Ich verstehe die Rhetorik in dieser Frage, es geht einfach nicht anders. Man kann jetzt diskutieren, ob es nun wirklich unsauber ist oder nicht, ich persönlich empfinde es einfach aus den genannten Gründen als intransparent.

Zitat:
Es war nur als Beispiel gedacht wie man schnell eine Template Engine bauen kann die schnell ist und keine weitere zusätzliche Syntax erfordert.
Ich werfe dir das ja auch nicht vor. Ich versuche nur an Hand meiner Erfahrungen an der Diskussion teil zu nehmen. Im Gegenteil, ich finde es sehr schön, dass dieses Beispiel gekommen ist, sonst hätte ich es früher oder später als Negativ-Beispiel gebracht.

Zitat:
vielleicht lassen sich auf diesen Weg neue Möglichkeiten finden eine schicke kleine Template Engine umzusetzen.
Mit einer PHP-Template-Engine kann ich dir nicht dienen, mit einer XML-/XSL-Engine schon. Schau dir mal den Beitrag unter http://www.php.de/php-einsteiger/460...-klasse-2.html (Pagemanager Klasse) an, dort habe ich einen möglichen Ansatz geschildet. Das ZIP-Package mit dem Beispiel-Code gibts unter http://adventure-php-framework.org/p...parser_dom.zip. Eine Implementierung dieses DOM-Parser-Ansatzes ist im core des APF enthalten. Vielleicht ist das ja ein interessanter Denkanstoss für dich...
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 15.08.2008, 23:45  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von David Beitrag anzeigen
noch eine...
Jetzt muss ich schon lachen, aber ich stimm dir aber voll und ganz zu, noch ein Smarty ist einfach überflüssig!
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 16.08.2008, 10:29  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Zitat von dr.e. Beitrag anzeigen
Mit einer PHP-Template-Engine kann ich dir nicht dienen, mit einer XML-/XSL-Engine schon.
Ich kanns mir in etwa denken ich hab ja schon mit der HTML Verarbeitung mittels DOM beschäftig im Prinzip gar nicht mal so übel allerdings hab ich es nur dafür gebraucht um einen Vorläufer von der Template-Engine zu schreiben ... Ich nutze es nur um im Head Stylesheets und Metatags hinzuzufügen und um Platzhaltertags zu benutzen praktisch als ziemlicher grober HTML Konstrukt ...dafür sehe ich das durchaus als praktisch an aber sobald darum geht eigene Iteratoren oder sonstige Konstrollstrukturen sehe ich das Performancetechnich als kritisch ... bei kleinen Projekten dürfte man die Auswirkungen sicherlich nicht merken aber bei größeren glaube ich schon das es sich dann bermerkbar macht. Jede Sprache die innerhalb einer anderen Sprache ausgeführt wird birgt ein gewisses Performance Risiko.
__________________
Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.
HStev ist offline   Mit Zitat antworten
Alt 26.08.2008, 02:29  
Neuer Benutzer
 
Benutzerbild von devildeath
 
Registriert seit: 26.08.2008
Beiträge: 11
devildeath befindet sich auf einem aufstrebenden Ast
devildeath eine Nachricht über ICQ schicken devildeath eine Nachricht über AIM schicken devildeath eine Nachricht über Skype™ schicken
Standard

Um mal auf die eigenen Kontrollstrukturen zurück zu kommen:
habt ihr euch eigentlich mal überlegt, wie es gemacht wird, diese Kontrollstrukturen wieder in die PHP-Versionen zurück zu wandeln?
Die werden ja nicht einfach mal fix wieder ersetzt.
Naja ersetzt werden sie schon, jedoch ist das gar nicht so einfach.
Geregelt wird sowas von regular expressions.
Wenn man einen Text nun ersetzen will, erkennt man ihn ja anhand der Delimiter.
Wenn die Delimiter jedoch länger als 1 Zeichen lang sind, artet der zu erstellende pattern jedoch zu echtem gehirnjogging aus.
Zumindest muss man hier wissen was man macht.
Daher rate ich gänzlich von solch einem system ab.
Auch weil es einfach ineffizienter arbeitet.

LG
devildeath
devildeath ist offline   Mit Zitat antworten
Alt 26.08.2008, 03:21  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 1.531
Quadaptor befindet sich auf einem aufstrebenden Ast
Standard

Sollte aber dieses Problem (das Finden/Verstehen von Kontrollstrukturen) nicht durch APC & Co. vollständig gelöst sein?

@dr.e.: Ich möchte deine Benchmarks nicht anzweifeln, aber ich kann dennoch nicht verstehen, wie Transformierungen über XSLT schneller sein können, als gecachte PHP-Scripts.
Ich hatte vor einigen Jahren recht viel mit Java/XSLT zu tun. Damals fand ich XSLT garnicht so atemberaubend schnell. Oay, die XML-Dokumente waren teils einige MB groß . -- Oder ist libxml/libxslt so feinoptimiert?

Für mich wäre eine XML-basierte Template-Lösung auch sehr interessant/elegant, allerdings hielt/halte ich das DomDocument-Objekt (vorallem wenn viele davon nötig sind [Subtemplates]) für zu teuer.

PS.: Willkommen devildeath!
Quadaptor ist offline   Mit Zitat antworten
Alt 26.08.2008, 09:58  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von Quadaptor Beitrag anzeigen
@dr.e.: Ich möchte deine Benchmarks nicht anzweifeln, aber ich kann dennoch nicht verstehen, wie Transformierungen über XSLT schneller sein können, als gecachte PHP-Scripts.
Ich hatte vor einigen Jahren recht viel mit Java/XSLT zu tun. Damals fand ich XSLT garnicht so atemberaubend schnell. Okay, die XML-Dokumente waren teils einige MB groß . -- Oder ist libxml/libxslt so feinoptimiert?
libxml/libxslt sind schon recht gut optimiert, aber ich persönlich betreibe an dieser Stelle nicht den Aufwand mit XSLT zu arbeiten - da musst du mich missverstanden haben. Grund ist, dass ich Konzepte wie MVC mit selbst implementierbaren DocumentControllern mit diesem Mittel nicht umsetzen könnte. Im APF setze ich deshalb auf einen eigenen DOM-Parser, der aus den APF-Objekten (die von der Klasse coreObject erben) aufgebaut wird. Der Parser an sich ist so generisch aufgebaut, dass er mit beliebigen user-defined TagLibs gefüttert werden kann. Weiterhin bietet dir die Implementierung des PageController einen Rahmen für MVC und three-tier-architecture. Das, verglichen mit Lösungen, bei denen Templates mit PHP-Mechanismen verarbeitet werden (z.B. Zend Framework), ist deutlich schneller.
Was Byte-Code-Caching angeht, so habe ich davon bei den Tests Abstand genommen, da so die Stärken bzw. Schwächen der eigentlichen Implementierung besser hervortreten. Natürlich habe ich neben den Tests Versuche mit aktiviertem mmcache, apc und eaccellerator unternommen. Es zeigte sich jedoch, dass die PHP-Template-Lösungen bessere Ergebnisse als ohne Caching erziehlten, das Endergebniss wurde jedoch dadurch nicht beeinflusst.

Zitat:
Zitat von Quadaptor Beitrag anzeigen
Für mich wäre eine XML-basierte Template-Lösung auch sehr interessant/elegant, allerdings hielt/halte ich das DomDocument-Objekt (vorallem wenn viele davon nötig sind [Subtemplates]) für zu teuer.
Dann empfehle ich dir, mal einen Blick auf das APF zu werfen, du könntest begeistert sein.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 26.08.2008, 11:30  
Neuer Benutzer
 
Benutzerbild von devildeath
 
Registriert seit: 26.08.2008
Beiträge: 11
devildeath befindet sich auf einem aufstrebenden Ast
devildeath eine Nachricht über ICQ schicken devildeath eine Nachricht über AIM schicken devildeath eine Nachricht über Skype™ schicken
Standard

Danke für den tollen Empfang hier

Nunja die können schon abgenommen werden, nur wenn man einfach mal aus spass und wegen des Lerneffekts ein Templatesystem entwerfen will, sollte man doch auch das finden und ersetzen von Kontrollstrukturen mal versuchen.
Ich weiß das regular expressions von vielen vollkommen gemieden werden, weil sie einfach eine Nummer zu extrem aussehen.
Doch genau daran sollte man sich mal versuchen.
Die meisten wissen ja gar nicht, was man da alles entdecken kann.
Und ich finde diesen Teil der Übung eigentlich am schwersten, also warum den schwersten meiden?
Übung macht den Meister

Z.B.: Nur mal vorstellen, wenn man einen Text Markieren will, der in " " geschrieben ist und aber auch mit Backslash maskierte Anführungszeichen hat:

'/[^\\\"]*(\\\.[^\\\"]*)*/'


Ich will mir das gar nicht vorstellen, wie das bei größeren Delimitern aussehen soll ^^
Und das dann noch in der Performance optimieren...

Naja egal. Ich finde man sollte sich das mal antun, weil das auch eine wirklich eigene Form von Kunst darstellt.

LG
devildeath
devildeath ist offline   Mit Zitat antworten
Alt 26.08.2008, 14:55  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo devildeath,
Zitat:
[..] nur wenn man einfach mal aus spass und wegen des Lerneffekts ein Templatesystem entwerfen will [..]
Ich hab bisher noch niemanden wirklich verstanden, der aus der von dir genannten Motivation ein Template-System entwerfen wollte. Davon abgesehen ist auch bei den Aktionen nie etwas sinnvolles rausgekommen.

Zitat:
Übung macht den Meister
Hierbei allerdings verstehen wir uns prächtig!

Zitat:
Und das dann noch in der Performance optimieren...
Ich habe die erste Version der PageController-Implementierung des APF per preg_match() erstellt, bei RegExps erschreckt mich nichts mehr. Was die Performance angeht, gebe ich dir Recht, strpos() + substr() sind für den genannten Anwendungsfall deutlich performanter.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 26.08.2008, 15:33  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Zitat von dr.e. Beitrag anzeigen
Ich hab bisher noch niemanden wirklich verstanden, der aus der von dir genannten Motivation ein Template-System entwerfen wollte. Davon abgesehen ist auch bei den Aktionen nie etwas sinnvolles rausgekommen.
gibt genügend Beispiele ... bei denen das der Fall war ... nicht nur im PHP Bereich ... ProjectX ist son Fall soweit ich darüber bescheid weiß
__________________
Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.
HStev 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
XmlHTTPRequests statt Template Engine! Performance? xueluf PHP-Fortgeschrittene 3 09.04.2008 11:35
Template Engine vs PHP-Includes aktionkuba PHP Tipps 2007 16 19.06.2007 23:53
Datenbankfelder direkt im Template verfügbar phpbeginner Datenbanken 3 29.07.2006 20:30
Eckige Klammern in Template nutshell PHP Tipps 2006 9 05.06.2006 19:12
template in template einfuegen tonne PHP Tipps 2005-2 8 10.11.2005 22:24
Template Engine die PHP5+E_STRICT überleben PHP-Fortgeschrittene 0 17.08.2005 10:33
Template verständniss problem; referenz PHP Tipps 2005 17 19.05.2005 06:06
Template: Verschachteln von foreach PHP Tipps 2005 2 12.05.2005 15:37
Php Code als Variable definieren und in Template darstellen PHP Tipps 2004-2 4 31.12.2004 16:22
Template erstellen? PHP Tipps 2004-2 10 08.12.2004 09:41
suche ein bestimmtes template system PHP Tipps 2004-2 2 07.11.2004 19:49
Template Parser PHP-Fortgeschrittene 9 06.10.2004 23:04
PHP BB Template Engine :: Blöcke??? PHP Tipps 2004 7 02.09.2004 21:01
[Erledigt] Template Scripting PHP-Fortgeschrittene 2 04.06.2004 18:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php dom based template engine, php template engine dom oder nicht, php benchmark xslt, xslt php templateengine, php template system dom

Alle Zeitangaben in WEZ +1. Es ist jetzt 20:35 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