Posted by: solutionpress | Januar 20, 2008

PHP 6 - still barely a programming language?

Vor kurzen neu erschienen und nun nutzbar ist die Version 6 von PHP. Viele der ganzen Funktionen sind auch parrallel in der Aktuellsten PHP 5 Version enthalten, welche weiterhin noch nicht abgeschlossen ist.

Neben vielen nützlichen mehr oder weniger kleinen Erweiterungen von PHP und einer Weiteren beseitigung von Sicherheitsrisiken die in PHP5 noch aus älteren Zeiten übernommen wurden, stellt PHP nun aber auch neue Funktionen wie die vereinfachte erstellung von XML zur Verfügung, ohne Frage finde ich das nützlich, und werde es auch sicherlich nutzen, aber bei mir kommt die Frage auf ob das noch zu der Art funktionen gehört, was PHP als programmiersprache darstellt.

XML ist keine Programmiersprache, und als Markup language würde ich es, so wie es der Name besagt, auch nicht richtig bezeichnen, ohne zusätzliche Stylesheet Informationen bleibt eine XML Dateien nämlich von den meisten Browsern uninterpretiert. Dienen tut es dazu, Daten zwischen Maschinen zu transportieren, der eigentlichen Gestaltung der Elemente via Auslesung und verarbeitung mit weiteren Markup languages oder stylesheets aber Freiraum zu lassen. Gerade weil es soetwas in vergleichbarer Funktion schon zu Hauf als OS Klassen gibt, finde ich, sollte solch eine Funktion doch wohl eher als zusatz Bibliothek angeboten werden. Wie z.B. die GDLib, welche z.B. ermöglicht Daten über ein Grafisches Interface darzustellen.

Nun meine Fragen an euch, die Ihr vllt sogar als Kommentar beantwortet:
1. Gehört eine solche Funktion in das Standard System von PHP
2. Habt ihr das Gefühl das sich PHP möglicherweise aus reinem “es muss etwas neues kommen”-Grund weiterentwickelt, und sich durch solche Funktionen zu einem Gemisch aus Programmiersprache und gar Framework entwickelt?

Editiert am 23.01.2008 aufgrund einer Falschen Aussage meinerseits. Danke servuzmaxguat

Antworten

Hi, ich kann deiner Einschätzung nicht ganz folgen: XML ist die flexibelste Sprache zu Strukturierung von Daten. Das PHP (vor allem als Web-Serversprache) XML-Klassen mitbringt ist nur konsequent, da dadurch fast alle Daten, die so im Internet rumliegen (normales HTML, RSS-Feeds, Ajax-Zeugs, evtl auch ODF uvm) moduliert werden können.

Die neuen Funktionen sind sogar so einfach zu verstehen, dass man sehr schnell eine Skript zimmer kann, das z.B. bestimmten Content aus RSS-Feeds grabbt und als Morgenzeitung ausspuckt. Beispiele gibt es viele …

PHP folgt hier einem allgemeinen Trend, weil jede ernsthafte Programmiersprache mittlerweile XML-Werkzeuge mitbringt - und somit Daten zwischen allen Systemen zuverlässig ausgetauscht werden können, wenn die entsprechende Schnittstelle definiert ist (natürlich in XML!).

Ich find es gut.

Was sind “OS Klassen”?

Übrigens: Das XML der “eigentlichen Gestaltung … via Markup language … Freiraum” lässt, stammt aus den vielen Tutorials, die Web-Entwicklern XML anhand eines aufgebohrten HTML mit CSS veranschaulichen wollen. XML scheißt auf Darstellung - XML ist nur für Maschinen. und Helden!

Danke für deinen Kommentar. Ich habe ja um eure Meinung gebeten. Und Glückwunsch dass du der erste Kommentator warst.

Was Klassen in PHP sind wirst du sicherlich wissen, wenn du dies so schreibst, mit OS meine ich Open Source.

Den Satz mit XML habe ich nicht aus irgendwelchen Tutorialen abgeschaut, genauso wie solche habe ich selber versucht für Nichtwissende das ganze noch mal zu erleutern.

Mit deiner Meinung XML würde auf Darstellung “scheißen” liegst du leicht falsch, Darstellung ist nicht die Aufgabe von XML, womit du wieder Recht hast. Das XML nur für Maschinen ist, damit widersprichst du dir selber, wenn du selber sagst, das z.B. Feeds mit XML erstellt werden.

Alles in einem fasse ich deine Antwort also zu dem Ergebnis zusammen, dass du XML als sinvolles Standard Feature von PHP ansiehst.

Danke, solutionpress

Vielen Dank, dass Du unflätige Ausdrücke in deinem Blog tolerierst ;-) Ok, wieder Ernst:

Wo für mich in deinem Posting (ganz oben) etwas vermischt wird, sind deine Erläuterungen
1. man könne XML nicht wirklich als Markup language bezeichnen.
2. der Gestaltung der Elemente via Markup language würde Freiheit gelassen.
3. (in deiner Antwort) ich würde mir widersprechen, wenn ich sage Feeds sind für Maschinen.

Zu 1. XML heißt eXtensible Markup Language und ist ein Dialekt von SGML, der Standard Generalized Markup Language. Also, Markup Language wie es eine Markup Language nur sein kann.
zu 2. Die Gestaltung läuft nicht über eine weitere Markup Language, sondern über Stylesheets oder anderweitige Formatvorlagen (z.B. XSLT), die von Rendering Maschinen (z.B. Gecko im Browser, Apache FOP) interpretiert werden müssen,
was mich nun zu 3. führt:
3. RSS-Feeds haben normalerweise keine festgelegte Art der Darstellung. Maschinen - in diesem Fall vulgo Programme - sind einfach so eingestellt, dass sie den Feed für einen Menschen lesbarer anzeigen. Öffne mal einen RSS-Feed im IE: als Standard zeigt er den XML-Code und meldet, dass diese Datei nicht mit einem Stylesheet verbunden ist.
Der INHALT des Feeds ist natürlich dazu gedacht, von Menschen gelesen zu werden.

Nochmal Danke für die Antwort. Zensieren werde ich hier so schnell nichts.

Da bin ich wohl auf die Klappe gefallen. Bei Punkt 3. stimme ich dir zu. So habe ich das auch immer aufgefasst, gerade aber weil IE diesen Code ohne jegliche Interpretation anzeigt, würde ich fast dabei sagen, dass man einen anderen Namen finden sollte?!?

Bisher habe ich die einzige Verbindung von RSS mit CSS nur bei RSS Feeds angewand. In sonstigen fällen habe ich immer Mittels einer eigenen XML Klasse den Inhalt wieder ausgelesen, und selber formatiert. Da es durch den Aufbau einer XML Datei sehr gut möglich ist, die Daten auszulesen, und andersweitig einzusetzten, ist die aussage das der Gestaltung via Markup (hier meinte ich HTML) freiheit gelassen würde nicht wirklich falsch.

Peinlich nur, dass ich nicht richtig nachgedacht habe, und XML mit Markup in verbindung brachte. Ich werde meinen Blogpost diesbezüglich samt vermerk korrigieren!

Einen Kommentar hinterlassen

Your response:

Kategorien