Mittwoch, 23. Mai 2012


Artikel

August 2002 | Artikel

Dev.Talk

(Link zum Artikel: http://www.entwickler.de/php//000208)

PHP und Python. PHP @ LinuxTag 2002. International PHP Conference 2002

Text: von Sebastian Bergmann
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share

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
  1. <?php
  2. $a = "test";
  3. $b = true;
  4. $c = 50;
  5. $d = 60.4;
  6. $code = <<<EOD
  7. import php
  8. a = php.var('a')
  9. b = php.var('b')
  10. c = php.var('c')
  11. d = php.var('d')
  12. print a, b, c, d
  13. print a, d / c + b, a
  14. EOD;
  15. $code = str_replace("\r\n", "\n", $code);
  16. py_eval($code);
  17. ?>
  18. Ausführung von Python Code in PHP
  19. test 1 50 60.4
  20. test 2.208 test
  21. Ausgabe
  22. <?php
  23. $p = new Python('module', 'TestClass', array(435));
  24. print $p->returnInt() . "\n";
  25. print $p->test(1, 'bar') . "\n";
  26. print $p->foo . "\n";
  27. $p->foo = 987;
  28. print $p->foo . "\n";
  29. # $copy points to the same object
  30. $copy = $p->returnMe();
  31. print $copy->foo . "\n";
  32. $p->foo = 987;
  33. print $copy->foo . "\n";
  34. ?>
  35. Zugriff auf Python Objekte in PHP
  36. class TestClass:
  37. def __init__(self, foo):
  38. self.foo = foo
  39. def returnInt(self):
  40. return 1113
  41. def test(self, a, b = 'str'):
  42. return "a = %d, b = %s" % (a, b)
  43. def returnMe(self):
  44. return self
  45. def returnTuple(self):
  46. return (1, "two", 3.0)
  47. def returnList(self):
  48. return [1, "two", 3.0]
  49. def returnDict(self):
  50. d = {}
  51. d['one'] = 1
  52. d['two'] = 2
  53. d['three'] = 3
  54. return d
  55. def p(self, var):
  56. print var
  57. module.py
  58. 1113
  59. a = 1, b = bar
  60. 435
  61. 987
  62. 987
  63. 987
  64. 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.

Kommentare