LiSoG>>Supported Project: PHP4Mono
Die LiSoG unterstützt das Projekt PHP4Mono, ein PHP-Compiler für das .NET kompatible Framework Mono.
Die Linux Solutions Group e.V. hat im Rahmen von LiSoG>>Supported Projects ein weiteres Projekt gefördert: PHP4Mono. Auch hier stellte die LiSoG ihr Netzwerk zur Verfügung und hat so maßgeblich am Erfolg des Projektes beigetragen. Die LiSoG vermittelte den Kontakt zu Thomas Uhl, Topalis AG und über ihn zu Miguel de Icaza und Chris di Bona. Topalis ist Gründungsmitglied der LiSoG und Thomas Uhl ist Sprecher des Architekturboards. De Icaza gründete die Open Source Projekte GNOME und Mono. Di Bona ist Open Source Programs Manager bei Google. Die Realisierung von PHP4Mono macht es möglich, Anwendungen für die .NET-kompatible Entwicklungsplattform Mono in der Sprache PHP zu entwickeln. Auf Sourceforge steht jetzt die Version 0.2 von PHP4Mono, dem PHP-Compiler für Mono, zum Download bereit.
Wir stellen Ihnen das Projekt kurz vor. Nähere Informationen erhalten Sie unter http://php4mono.sourceforge.net/ oder im Heise-Newsticker unter: http://www.heise.de/newsticker/meldung/70530.
In dem Projekt PHP4Mono geht es darum, zwei Welten miteinander zu verbinden und die Stärken beider Seiten zu bündeln. Wie der Name schon sagt, geht es um PHP und um Mono.
PHP4Mono ist ein Open Source-Projekt, wird von SourceForge gehostet und steht unter der GNU General Public License (GPL). Es begann als Diplomarbeit des Informatikstudenten Raphael Romeikat an der Universität Augsburg, Gründungsmitglied der Linux Solutions Group e.V. Im Jahr 2005 wurde das Projekt von Googles Open Source-Initiative Summer of Code gefördert und wird seitdem weiterentwickelt. Weitere Details, eine genaue Auflistung der bereits realisierten und noch geplanten Features und Beispiele sind auf der Website von PHP4Mono nachzulesen.
PHP ist eine beliebte und weit verbreitete Skript-Sprache, die besonders für Webentwicklung geeignet ist. In PHP geschriebene Skripte sind keine eigenständigen Anwendungen, sondern werden in HTML-Seiten eingebettet. Syntax und Semantik sind anderen etablierten Programmiersprachen wie C und Perl ähnlich, wodurch PHP ohne lange Einarbeitungszeit eingesetzt werden kann. Seit kurzem sind auch moderne objektorientierte Konzepte Bestandteil des Sprachschatzes von PHP. Die wohl größte Stärke besteht darin, dass nicht nur PHP selbst frei und kostenlos verfügbar ist, sondern ebenso eine Flut von Bibliotheken und Erweiterungen, die den Zugriff auf Systemfunktionalität, Datenbanken und vieles mehr ermöglichen, ohne dass dafür eigene Programmierarbeit erforderlich ist. Eine aktuelle Umfrage belegt, dass PHP auf über 20 Millionen Domains weltweit eingesetzt wird und somit die beliebteste Skriptsprache im Internet darstellt.
Mono ist eine Open-Source-Implementierung des Microsoft .NET Framework. Im Gegensatz zum .NET Framework ist Mono allerdings nicht nur für das Betriebssystem Windows verfügbar, sondern auch für die anderen verbreiteten Betriebssysteme Linux, UNIX, MacOS und Solaris. Dass mit Mono entwickelte Bibliotheken somit plattformübergreifend eingesetzt werden können, ist nur ein großer Vorteil. Ein weiterer Pluspunkt gegenüber Microsofts Pendant besteht darin, dass Mono nicht nur die Programmiersprache C# unterstützt, sondern auch andere wichtige Sprachen wie Java, Python und einige mehr. Ein Entwickler kann somit je nach Problemstellung diejenige Sprache verwenden, die ihm am geeignetsten erscheint, und diese mit anderen Sprachen kombinieren. Die Möglichkeit, verschiedene Programmiersprachen zu bündeln und gemeinsam einzusetzen, macht Mono somit zu einer effektiven und effizienten Umgebung für Software-Architekten.
Das Ziel des Projekts PHP4Mono besteht darin, PHP als weitere Sprache für Mono verfügbar zu machen. Auf diese Weise ergeben sich viele neue Möglichkeiten. Entwickler können PHP nicht mehr nur als Skript-Sprache für Webseiten einsetzen, sondern ebenso als vollwertige Programmiersprache für die Entwicklung eigenständiger Anwendungen. Die wichtigen Sprachkonstrukte werden durch PHP4Mono bereits unterstützt und die noch bestehenden Lücken nach und nach geschlossen. Ein besonderes Feature besteht darin, andere mit Mono oder dem .NET Framework entwickelte Bibliotheken direkt aus PHP heraus ansprechen zu können. Auf diese Weise können beispielsweise grafische Oberflächen direkt in PHP programmiert werden.
Damit eine Sprache von Mono unterstützt wird, ist ein Compiler erforderlich, der sie in eine Zwischensprache, die Common Intermediate Language (CIL) übersetzt. Dabei müssen die Sprachkonstrukte von PHP exakt mit den Möglichkeiten von CIL nachgebildet werden. CIL ist eine maschinennahe Sprache, basiert auf einer abstrakten Stackmaschine und war früher auch als Microsoft Intermediate Language (MSIL) bekannt. Auf Basis von CIL können die verschiedenen höherwertigen Sprachen kommunizieren und Informationen austauschen. Wie bereits erwähnt, beinhaltet Mono bereits Compiler für C#, Java, Python und einige mehr. Einen Compiler für PHP zu entwickeln ist Kernpunkt des Projekts PHP4Mono.
- Übersicht PHP4Mono (PDF, ca. 2,5 MB)