php-resource



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

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


XML Hier passt alles rein, was das Thema XML (XSLT, JSON etc...) betrifft, auch in Verbindung mit PHP

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 05-07-2005, 20:27
MaxPayne
 Member
Links : Onlinestatus : MaxPayne ist offline
Registriert seit: Jul 2002
Ort: Stadtilm
Beiträge: 359
MaxPayne ist zur Zeit noch ein unbeschriebenes Blatt
MaxPayne eine Nachricht über ICQ schicken
Standard XSLT-Template-Engine

Tag,

habe hier im Forum schon einige (spärliche beantwortete) Beiträge gefunden, und wollte jetzt mal konkret werden.
Eine Template-Engine (PHP5) die XML-Dokumente mit dem XSLT-Prozessor pro Abfrage zu HTML konvertiert dachte ich mir. Die XSL-Dokumente werden als temporäre Dateien von PHP erzeugt. Ginge das? Ich hab keine Ahnung wie viel Perfomance das Erzeugen eines XSLT-Prozessors macht aber schneller als ne eigene Template-Engine wirds doch auf jeden Fall sein, oder?
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 08-07-2005, 01:58
eintrachtemil
 Registrierter Benutzer
Links : Onlinestatus : eintrachtemil ist offline
Registriert seit: May 2004
Beiträge: 223
eintrachtemil ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Ginge das?
Aber sicherlich...

Zitat:
schneller als ne eigene Template-Engine
Sicherlich auch - . Vorallem wenn es eine in PHP implementierte ist - und keine z.B. eigene Extension...
Mit Zitat antworten
  #3 (permalink)  
Alt 13-07-2005, 12:04
eintrachtemil
 Registrierter Benutzer
Links : Onlinestatus : eintrachtemil ist offline
Registriert seit: May 2004
Beiträge: 223
eintrachtemil ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Solltest aber auch beachten, dass XSLT-Stylesheets meist etwas aufwändiger zu schreiben sind.

Zum Beispiel eine einfache if-else-Logik muss in XSLT relativ umständlich über <xslt:choose> erzeugt werden.

Arbeite gerade selber mit XML/XSLT-Formatierung über PHP und habe mir schon öfters gedacht, wie einfach etwas doch mit einer "herkömmlichen" Template-Engine gelöst werden könnte.
Mit Zitat antworten
  #4 (permalink)  
Alt 13-07-2005, 13:33
MaxPayne
 Member
Links : Onlinestatus : MaxPayne ist offline
Registriert seit: Jul 2002
Ort: Stadtilm
Beiträge: 359
MaxPayne ist zur Zeit noch ein unbeschriebenes Blatt
MaxPayne eine Nachricht über ICQ schicken
Standard

Jedoch musst du auch beachten, dass es mit XML um ein Vielfaches schneller geht als mit Smarty & Co. Weiterhin ist XML/XSLT ein Standard un von jeder Maschine einfach lesbar, viele andere Sprachen bringen bereits nativ einen Parser und XSL-Prozessor mit und man hat genau die selben Freiheiten wie mit herkömmlichen Template-Engine. Im Gegenteil, sogar mehr: man kann problemlos noch ganz andere Format erzeugen, wie PDF, DocBook oder RTF.

Ich hab die Engine jetzt einfach mal gebaut und werde sie morgen mal online stellen. Werde auch mal ein paar Benchmarks machen, vielleicht kann der Code hier im Forum mal reviewt werden....
Mit Zitat antworten
  #5 (permalink)  
Alt 23-07-2005, 16:24
MaxPayne
 Member
Links : Onlinestatus : MaxPayne ist offline
Registriert seit: Jul 2002
Ort: Stadtilm
Beiträge: 359
MaxPayne ist zur Zeit noch ein unbeschriebenes Blatt
MaxPayne eine Nachricht über ICQ schicken
Standard XSLTemplate-Engine fertig

Hallo,

hier wie gesagt im Anhang die Klasse und die zugehörigen PHPUnit Tests. Ich konnte sie in einem beruflichen Projekt schon testen und muss sagen, dass ich fasziniert bin von den Möglichkeiten die mir XSLT in diesem Bereich bietet.
Es kann an den 2 Opteron-Prozessoren des Servers liegen aber ich finde die Klasse ist sehr schnell, und von den Smarty-Benchmark-Test her zu urteilen sehr viel schneller als die gleichnamige Engine. Außerdem sehen die Templates schöner aus und man kann sie auch noch mit anderen Stylesheet-Prozessoren zum Beispiel in PDF oder andere Formate konvertieren.

Seht euch doch bitte mal den Code an (kommentiert ist er in phpDocumentor-Format) und sagt mir eure Meinung.

Grüße
Mit Zitat antworten
  #6 (permalink)  
Alt 23-07-2005, 19:56
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 Re: XSLTemplate-Engine fertig

Zitat:
Original geschrieben von MaxPayne
hier wie gesagt im Anhang die Klasse und die zugehörigen PHPUnit Tests.
Wo denn?
Mit Zitat antworten
  #7 (permalink)  
Alt 23-07-2005, 20:48
MaxPayne
 Member
Links : Onlinestatus : MaxPayne ist offline
Registriert seit: Jul 2002
Ort: Stadtilm
Beiträge: 359
MaxPayne ist zur Zeit noch ein unbeschriebenes Blatt
MaxPayne eine Nachricht über ICQ schicken
Standard

hoppala *g*
Angehängte Dateien
Dateityp: zip xsltemplate.zip (9,4 KB, 274x aufgerufen)
Mit Zitat antworten
  #8 (permalink)  
Alt 13-08-2006, 21:08
Rolandbar
 Junior Member
Links : Onlinestatus : Rolandbar ist offline
Registriert seit: Mar 2004
Beiträge: 199
Rolandbar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sorry das ich den tread nochmal ausgrabe, aber ich habe gerade mit einer modifizierten version von MaxPayne's xslt-template-enerige Benchmark's gemacht. Bei mir war Smarty ca 50% (!) schneller als xslt.

als anhang meine testfieles.
zum probieren könnt ihr die test_xsl.php und test_smarty.php aufrufren.
bei beiden wird das gleiche generiert.

mfg Rolandbar
__________________
Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg
Mit Zitat antworten
  #9 (permalink)  
Alt 13-08-2006, 21:11
Rolandbar
 Junior Member
Links : Onlinestatus : Rolandbar ist offline
Registriert seit: Mar 2004
Beiträge: 199
Rolandbar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

bitte löschen
__________________
Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg

Geändert von Rolandbar (13-08-2006 um 21:13 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 13-08-2006, 21:14
Rolandbar
 Junior Member
Links : Onlinestatus : Rolandbar ist offline
Registriert seit: Mar 2004
Beiträge: 199
Rolandbar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ups, anhang vergessen
schade beim editieren kann man keine uploads machen.

EDIT:

ok, ich habe herausgefunden, das es durch das erzeugen von xml durch das domdocument und addchildren eine menge zeit verlohren geht.

Angehängte Dateien
Dateityp: zip tests.zip (97,0 KB, 115x aufgerufen)
__________________
Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg

Geändert von Rolandbar (14-08-2006 um 11:54 Uhr)
Mit Zitat antworten
  #11 (permalink)  
Alt 14-08-2006, 12:36
MaxPayne
 Member
Links : Onlinestatus : MaxPayne ist offline
Registriert seit: Jul 2002
Ort: Stadtilm
Beiträge: 359
MaxPayne ist zur Zeit noch ein unbeschriebenes Blatt
MaxPayne eine Nachricht über ICQ schicken
Standard

Hallo,

ohne mir deine Test-Dateien jetzt angeguckt zu haben: war Smarty vor einem Jahr schon auf dem "Kompilierungstrip"? Sprich, dass man das Template in dem Smarty-Syntax beschreibt und die Engine daraus ein PHP-Skript erzeugt? Das ist natürlich immer schneller. Aber dann frage ich mich, wozu Smarty lernen?
Dann könnte man die PHP-Template-Skripte auch selber schreiben und sie aus einem Funktionskontext heraus aufrufen, da muss ich nicht erst den Smarty-Syntax lernen...
Mit Zitat antworten
Antwort

Lesezeichen


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

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

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

Microweber CMS

Open source, drag and drop website builder

13.01.2020 Berni | Kategorie: HTML5/ EDITOR
PhoneGap Apps mit JS, CSS3 und HTML5 erstellen ansehen PhoneGap Apps mit JS, CSS3 und HTML5 erstellen

PhoneGap, Framework zur Erstellung hybrider Applikationen für mobile Endgeräte.

13.01.2020 Berni | Kategorie: App-Entwicklung
Bo)Tickets

Bo)Tickets bietet Ihnen eine Schnittstelle für Kundenanfragen an. In dem Script definieren Sie Supportbereiche, also zum Beispiel „Technik, Buchhaltung, Support“. Ihre Kunden können dann über ein Formular eine Anfrage abschicken.

31.12.2019 bocombo | Kategorie: PHP/ Ticketsystem
 Alle PHP Scripte anzeigen

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