phpbar.de logo

Mailinglisten-Archive

[php] PHP4 und Objekte

[php] PHP4 und Objekte

Ulf Wendel ulf_(at)_redsys.de
Tue, 22 Feb 2000 08:54:40 +0000


Alex Meyer wrote:

> Würde sich der umstieg für einen Java Programmierer von PHP3 auf PHP4
> lohnen(in bezug auf die OOP Fähigkeiten)?

Definitiv nicht. Es ist ein ausgesprochen schwieriges Unterfangen OO
Features in die Sprache reinzuprügeln. Java ist eine OOP by design, PHP
nicht.

Alles was nach erweiterten OO Feautures riecht, ist nicht vorhanden:
Introspektion - rudimentär (get_methods(), get_classes() + dirty hacks),
Inner Classes - kein Equivalent, Interfaces - kein Equivalent, Packages
- vielleicht mit dem undokumentiertem PEAR in PHP4. 

Und wenn man dann mit anderen Sprachfeatures weitermacht, wird man z.B.
nach exceptions suchen und nichts finden...

PHP ist eine einfach zu erlenende Sprache, die irgendwo zwischen C -
JavaScript/Basic - C++/Java steht. Einfachheit und der inzwischen große
Sprachumfang machen PHP sehr attraktiv. Es gibt mindestens drei gute
Gründe sich als Java Programmierer mit PHP zu beschäftigen:

Sessions - das Session Handling in Java sieht für den PHPler
ungewöhnlich aufwendig aus. Wenn ich es richtig gesehen habe, benutzt
man set* und get* Funktionen, um Session Daten zu speichern und aus der
Session zurückzuerhalten. Das zurückholen von Werten ist zumindest mit
der PHPLib etwas einfacher: jede registrierte Variable wird beim
Seitenaufruf in den globalen Namespace importiert, steht als globale
Variable zur Verfügung. Das ist für den Javaprogrammierer einfach
undenkbar, für den PHP Einsteiger sehr einfacer (leider gibt es in der
PHPLib Kollisionen mit GET/POST Daten welche ebenfalls in den globalen
Namespace importiert und sofort durch veraltete Sessiondaten
überschrieben werden...)

Datenbanken - PHP spricht etliche Datenbanken native an. Ein erfahrener
C Programmierer kann mit wenigen Tagen Arbeit ein neues Datenbankmodul
hinzuprogrammieren. Inzwischen muß man jedoch nicht mehr auf die DB
Funktionen direkt zugreifen, sondern bekommt gute Abstraktionen. Meine
bevorzugte findet sich in der PHPlib (http://phplib.netuse.de). Die
aktuelle PHP4 Beta 4 hat im PEAR Verzeichnis einen ersten Vorschlag für
eine zukünftige "offizielle" Klasse für die Abstraktion von den DB
Funktionen. Die Abstraktion ist hoch genug, um das zugrundliegende DB
System jederzeit ohne großen Aufwand (SQL Änderungen) zu wechseln. Die
nächste Abstraktionsstufe über SQL ist angedacht und existiert in
Studien auch schon im CVS (bei NetUSE). 

Java Integration - wie Egon bereits schrieb.

Ulf


php::bar PHP Wiki   -   Listenarchive