PHP und Python. PHP @ LinuxTag 2002. International PHP Conference 2002
Python-Objekte in PHP nutzen
Jon Parise, einer der Initiatoren des Horde-Projektes [1], hat eine erste Version seiner Python-in-PHP (PiP) Extension [2] freigegeben. Diese erlaubt Entwicklern sowohl die Einbettung von Python-Code in ihre PHP-Quelltexte, als auch die Instanzierung von Python Klassen in PHP (siehe Listing 1).
Listing 1 <?php
$a = "test";
$b = true;
$c = 50;
$d = 60.4;
$code = <<<EOD
import php
a = php.var('a')
b = php.var('b')
c = php.var('c')
d = php.var('d')
print a, b, c, d
print a, d / c + b, a
EOD;
$code = str_replace("\r\n", "\n", $code);
py_eval($code);
?>
Ausführung von Python Code in PHP
test 1 50 60.4
test 2.208 test
Ausgabe
<?php
$p = new Python('module', 'TestClass', array(435));
print $p->returnInt() . "\n";
print $p->test(1, 'bar') . "\n";
print $p->foo . "\n";
$p->foo = 987;
print $p->foo . "\n";
# $copy points to the same object
$copy = $p->returnMe();
print $copy->foo . "\n";
$p->foo = 987;
print $copy->foo . "\n";
?>
Zugriff auf Python Objekte in PHP
class TestClass:
def __init__(self, foo):
self.foo = foo
def returnInt(self):
return 1113
def test(self, a, b = 'str'):
return "a = %d, b = %s" % (a, b)
def returnMe(self):
return self
def returnTuple(self):
return (1, "two", 3.0)
def returnList(self):
return [1, "two", 3.0]
def returnDict(self):
d = {}
d['one'] = 1
d['two'] = 2
d['three'] = 3
return d
def p(self, var):
print var
module.py
1113
a = 1, b = bar
435
987
987
987
Ausgabe
Python-in-PHP erweitert die ohnehin schon guten Voraussetzungen von PHP als so genannte Glue Language in der Softwareintegration. So ist beispielsweise die Verwendung in Java geschriebener Klassen ebenso möglich wie der Zugriff auf Komponenten der Microsoft Technologien COM, DCOM und .NET.
PHP @ LinuxTag 2002
Wie bereits in den Jahren zuvor, so war das PHP Projekt auch in diesem Jahr wieder mit einem Stand auf dem LinuxTag, der in diesem Jahr in Karlsruhe stattfand, vertreten. Dank der Organisation des PHP-Vereins [3], der Unterstützung der PHP-Usergroups [4] und dem Sponsoring von Firmen wie MySQL AB [5] war der Stand, an dem sich neben PHP auch die Apache Software Foundation [6] sowie diverse PHP-Projekte präsentierten, ein voller Erfolg. Die erstmals in dieser Form angebotenen Vorträge und Workshops zu Themen rund um Apache, MySQL und PHP von namhaften Vertretern der Entwicklergemeinde - Rasmus Lerdorf, Ken Coar, Zak Greant, Stig Bakken, Derick Rethans - waren sehr gut besucht. In einer Podiumsdiskussion ließen Ken Coar, David Axmark und Rasmus Lerdorf die Entwicklung von Apache Webserver, MySQL und PHP Revue passieren und stellten sich den Fragen des Publikums.
International PHP Conference 2002
Die International PHP Conference 2002 [7], die vom 3. bis zum 6. November 2002 in Frankfurt am Main stattfinden wird, wirft ihre Schatten voraus. Als Mitglied des Programmkomitees stand ich zusammen mit Björn Schotte und Ralf Geschke vom PHP-Center.de, Dr. Werner Stürenburg von MySQL und Jörg Behrens vom PHP eV. vor der schwierigen Aufgabe, aus den weit über 200 eingegangenen Vorschlägen für Vorträge und Workshops etwa 50 auszuwählen. So werden an den beiden ersten Tagen Workshops zu Themen wie beispielsweise Apache 2, MySQL 4 und PHP 5 angeboten. Die beiden folgenden Tage bieten eine Fülle von interessanten Themen. So wird es im Applications Track beispielsweise Vorträge zur objektorientierten Programmierung von PHP und der Umsetzung von Unit Tests mit PHP geben. Der Database Track befasst sich mit der Integration von PHP mit MySQL, Oracle und PostgreSQL, während im XML Track beispielsweise XML-Transformationen mit PHP anstelle von XSLT oder die Entwicklung von Web Services mit PHP im Vordergrund stehen. Neben den genannten Tracks gibt es Vorträge aus den Bereichen Business, PHP Internals und Verschiedenes.
Sebastian Bergmann [8] studiert Informatik in Bonn und ist aktives Mitglied der internationalen PHP-Entwicklergemeinde. In seiner Kolumne Dev.Talk berichtet er für die Leser des PHP Magazins über die aktuellen Entwicklungen rund um PHP.