Thema: PHP 5.0.0 Released!

...ich hoffe, die ISP lassen sich dieses mal nicht so viel Zeit...

http://www.php.net/

Basti

2

Re: PHP 5.0.0 Released!

Nuja .. lieber kein Schnellschuß ;o)

http://bugs.php.net/bug.php?id=29132
http://news.php.net/php.internals/11223

_______________________________________________________________

/-/annes (j|g) ... http://www.jg-webdesign.de

Re: PHP 5.0.0 Released!

Was passiert jetzt mit der alten PHP 4.x version. Wird die weiter entwickelt oder is PHP5 jetz die nächste PHP version. Bin etwas verwundert, da es PHP4.3.8-dev gibt.

4

Re: PHP 5.0.0 Released!

...ich hoffe, die ISP lassen sich dieses mal nicht so viel Zeit...

Hosteurope stellt am 4.10 um.

Ich hab noch nie mit 5 gearbeitet. Muss man viel anpassen werden? Die Veränderungen sind ja schon gewaltig bzw. umfangreich. Wie sieht das mit der kompatibilität zu 4.2 Skripten aus?

Gruß, ReAr.

5

Re: PHP 5.0.0 Released!

@j|g:

> Nuja .. lieber kein Schnellschuß ;o)

ACK

@Nemesis:

Sicher wird PHP4 noch eine ganze Weile weiterentwickelt bzw. zumindest gepflegt werden. Genaue Angaben hab ich aber nicht.

@ReAr:

> Hosteurope stellt am 4.10 um.

Wie bitte? Was macht es für einen Sinn, eine solche Aussage zu treffen? Ich meine, als Server-Admin frage ich mich doch, wann PHP 5 so ausgereift erscheint, dass ich eine Installation wagen kann und leg mich doch nicht auf ein Datum fest. *wunder

[Kompatibilität]

Es gibt einen Kompatibilitätsmodus. Ob der allerdings 100%ig funktioniert, weiß ich nicht. Ansonsten funktioniert PHP4 Code erstmal auch ganz gut in PHP 5 bis auf einige (womöglich entscheidende) Details. So erzeugt ein

$new_object = $existing_object;

eine Referent auf $existing_object und keinen Klon mehr.

Die Möglichkeiten, die dir PHP5 vor allem in der OOP bietet sind allerdings allemal einen 'Umstieg' wert. Prima finde ich auch das eingebettete SQLite, wobei ich damit bislang noch nicht viel rumprobiert hab, weil mir ein gescheites Admin-Tool (a la phpMyAdmin) fehlt. Ich hab zumindest noch keine Lösung gefunden, die bei mir ohne große Fehler gelaufen wäre.

Zu den Neuerungen kannst du hier was nachlesen:

http://www.php.net/zend-engine-2.php
http://talks.php.net/show/php5intro/0

Basti

6

Re: PHP 5.0.0 Released!

Wie bitte? Was macht es für einen Sinn, eine solche Aussage zu treffen?

Wir werden am 04.10.2004 auf allen WebPack-Servern die dann
als "stable" freigegebene PHP 5-Version installieren.

Na, wenns doch stable is. smile

$new_object = $existing_object;

eine Referent auf $existing_object und keinen Klon mehr

Wie schön! Wenn die phpler dann auch noch anfangen $newObject = $existingObject; anstatt $new_object = $existing_object; zu schreiben werd ich anfangen die Sprache richtig zu mögen! *fg* smile

Gruß, ReAr.

[edit]
Jetzt mal im ernst. Das von Dir genannte umstellen auf copy by reference kann natürlich schon fiese Fehler geben. Bei der Umstellung auf 4.2 mit dem register_global wahr dann halt die ganze Var nach der Umstellung futsch. Hier ist sie das nicht. Sie tut sich dann nur merkwürdig verhalten wenn zwei verschiedene Stellen code gleichzeitig auf ihr rumhacken...
[/edit]

7

Re: PHP 5.0.0 Released!

> Na, wenns doch stable is.

Naja, viele ISP warten halt erstmal ab, bis das Dingen ein bischen im Einsatz ist (natürlich auf den Servern anderer Leute), denn letztlich erweist sich dann im tatsächlichen Einsatzt, ob die Software auch wirklich stabil ist. Auf der anderen Seite ist die Nachfrage natürlich groß und die Konkurrenz sicherlich auch, so dass da bestimmt ein gewisser Druck ist, PHP5 zumindest zusätzlich anzubieten (wobei ja nicht beide Versionen gleichzeitig als Modul installiert werden können).

[newObject]

LOL! Kleine Schlamperei meinerseits *g....

Und zu deinem Nachtrag:
Selbstverständlich zerschießt dir dieses neue Verhalten die ganze Applikation, jedoch natürlich nur, wenn du auch ein Objekt kopierst und ich vermute mal, dass 90% aller PHP-App's und -Sktipte diese Technik garnicht anwenden. Viele Programme sind ganz ohne OOP geschrieben oder verwenden lediglich ein paar Klassen, wie eine DB-Klasse, eine Session-Klasse, eine Auth-Klasse etc., also Klassen, von denen dann auch nur eine Instanz erzeugt wird. Oder lieg ich da falsch?

Für die anderen gibt es dann eben den Kompatibilitätsmodus, den du dir per ini_set() zuschalten kannst.

Basti

8

Re: PHP 5.0.0 Released!

Hallo,

> Na, wenns doch stable is.

Naja, viele ISP warten halt erstmal ab...

Ich seh die Problematik, war auch nicht so ernst gemeint, deshalb der smilie...

Viele Programme sind ganz ohne OOP geschrieben oder verwenden lediglich ein paar Klassen, wie eine DB-Klasse, eine Session-Klasse, eine Auth-Klasse etc., also Klassen, von denen dann auch nur eine Instanz erzeugt wird. Oder lieg ich da falsch?

Weiß nicht ob man das verallgemeinern kann. Du kennst dich in der php-Szene bestimmt besser aus als ich. Ich programmier aber eigentlich alles komplett konsequent Objektorientiert. Ist viel saubrer als struktorierte Programmierung. Von den Analysemethoden bis hin zur Programmierung. Ich kann Leute nicht verstehen die bei komplexeren Programmen keine OOA-OOD-OOP Techniken anwenden. Der ganze Problembereich läßt sich einfach nehmen und mit alle seinen Objekten 1 zu 1 (naja, fast 1 zu 1) als Programm wiederspiegeln. Es wird alles so einfach, logisch und klar.

Deshalb ist Java meines erachtens nach auch die schönste Sprache die es gibt. Bis auf ein paar primitive Typen arbeitet man komplett mit Objekten.
Alle Objekte sind von der Klasse "Object" abgeleitet. Das macht die Implementierung von Methoden die für alle Objekte vorhanden sein sollen natürlich einfacher. (Siehe __clone() u. __destruct() auf http://www.php.net/zend-engine-2.php).

Na ja. Trotzdem das man bei PHP sieht, das die OOP-Möglichkeiten später gewissermaßen als Feature implementiert worden sind (Das Schriftbild von php ist teilweise grottig und alles andere als konsequent), freu ich mich wirklich auf php5. Die Möglichkeiten die kommen (z.B iterieren über Objekte) sind schon toll und machen wohl wirklich schnelle, objektorientierte Programmierung mit PHP möglich.

Für die anderen gibt es dann eben den Kompatibilitätsmodus, den du dir per ini_set() zuschalten kannst.

Schalt ich mir denn dann die auch gleichzeitig die Features von php5 aus?

Gruß, ReAR

9

Re: PHP 5.0.0 Released!

Drei Punkte sprechen, meine ich, dafür, dass viel PHP-Code eher rudimentär OOP enthält:

- Die Entwicklung aus PHP3,
- die schlechte Performance von OOP in PHP4, sowie
- der Fakt, dass PHP einfach eine Einsteigersprache mit flacher Lernkurve ist. Viele dringen dabei, denke ich, garnicht tiefer in die OOP ein, als diese einfach nur zur ästhetischen Kapselung von Funktionen zu nutzen.

Sind natürlich nur Vermutungen. Ich kann mich an keine PHP-Applikation erinnern, die ich mir näher angeschaut hab, die komplexe OOP, Patterns etc. verwendet hätte (obwohl da bestimmt was dabei war). So, wie es scheint, hat selbst Typo3 an dieser Stelle keine Probleme mit PHP5 (ich kenne den Code allerdings auch nicht - nur mal so als Beispiel für eine relativ komplexe PHP-Anwendung mit reger Entwickler-Beteiligung). phpMyAdmin - keine Probleme bis jetzt - auch ohne Kompatibilitäts-Modus.

Es gibt so viele PHP-Apps, die Warnungen schmeißen, weil die Entwickler das error_reporting Level nicht hochgesetzt haben ... was erwartest du da? Sicher, vieles läuft und tut einfach seinen Job, aber die Entwickler dahinter sind nicht die Typen, die Informatik studiert haben und ahnung von den Möglichkeiten der OOP haben. Das gleiche Spiel ja mit MySQL. select, alter, drop, insert oder so, aber danach ist Schluß. Dahinter bleibt eine riesige Welt von Möglichkeiten verborgen (an dem die MySQL-Entwickler fröhlich rumschrauben müssen, ohne Angst haben zu müssen, dass dann plötzlich alle PHP-Skripte nicht mehr laufen *g).

Ich nehm mich davon übrigends nicht aus. auch ich bin einfach ein Hobby-PHP-Schrauber und hab wenig Ahnung von der Praxis 'echter' Programmierer. Allerdings treibt mich meine Neugierde auch immer weiter in die Materie, so dass ich auch schon einiges dazugelernt habe.

Übrigends gehe ich schwer davon aus, dass der Kompatibilitäts-Modus (die Option heißt übrigends zend.ze1_compatibility_mode) nicht die (zusätzlichen) Features kappt, die in PHP4 nicht vorhanden sind. Wer für PHP4 entwickelt wird mit PHP4 entwickeln, oder? Nur wer eben auf PHP5 umsteigen möchte, möchte sicherlich nicht erst seine gesammtes Codewerk umschreiben müssen (obwohl es bestimmt eine gute Übung wäre *g).

Basti

10

Re: PHP 5.0.0 Released!

... http://www.domainfactory.de/ hat PHP5 seit vorgestern parallel zu PHP4 installiert. Allerdings sind z.B. register_globals, register_long_arrays und magoc_quotes on - ich hab schonmal protestiert *g. Auch ist SQLite nicht integriert *Schmoll! Aber, das wird sich noch entwickeln...

Basti