Mailinglisten-Archive |
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