ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / Offtopic / Php 5 Beta draussen


Seite 1 von 1

gfc schrieb am 30.06.2003 um 13:02 Uhr

gemäss heise.de

Erste Beta von PHP 5 freigegeben

Das PHP-Projekt wagt den Sprung auf die nächste Major Release: Die erste Beta der Open-Source-Skriptsprache PHP 5.0.0 wurde freigegeben. Zu den wichtigsten Neuerungen gehört der Umstieg auf die Zend-2-Library, die effektivere Objektverwaltung verheißt; interne Funktionen sollen um bis zu 40 Prozent schneller ablaufen; die XML-Unterstützung wurde von Grund auf überarbeitet und fußt nun auf libxml2. Und ein Wermutstropfen für alle, die bislang auf die beliebte Kombination von PHP mit der Open-Source-Datenbank MySQL gesetzt haben: Die MySQL-Bibliothek wird aus lizenzrechtlichen Gründen ab sofort nicht mehr mitgeliefert. Dafür enthält die Distribution standardmäßig den Datenbankserver SQLite.

Auf die neue Zend-Library werden Freunde der objektorientierten Programmierung sehnlichst gewartet haben, behandelt sie doch Objekte fortan nicht mehr als primitive Typen wie Integers oder Strings. Wurde bei Zuweisungen wie $a = $obj in früheren PHP-Versionen immer das ganze Objekt kopiert -- es sei denn, man machte den Umweg über $a = &$obj, das der Variablen $a eine Referenz auf das Objekt $obj zuweist --, werden ab PHP 5 Objekte ausschließlich über Referenzen angesprochen, so wie man es beispielsweise von Java her kennt. Auch wenn Objekte als Funktionsparameter übergeben werden, landet nur noch eine Referenz (Handler) des Objektes auf dem Stack, aber nicht mehr das Objekt selbst. Das beschleunigt und vereinfacht die Verarbeitung von Objekten ganz erheblich. Wer dennoch Objektkopien benötigt, klont sie einfach per $obj->__clone().

Die Behandlung von Objekten über Referenzen ist aber nicht der einzige professionelle Anstrich, den die Zend-2-Engine dem neuen PHP verleiht: Erstmalig ist es auch möglich, Methoden als private oder protected zu kennzeichnen. Methoden und Membervariablen können darüber hinaus als final oder static deklariert werden, Membervariablen mit const als Konstante. Auch abstrakte Klassen und Methoden sowie Interfaces wurden eingeführt. Und wen es immer genervt hat, dass Variablen typenlos sind, kann dank Type Hinting zumindest Methodendeklarationen lese- und debug-freundlicher gestalten.

Der Aufruf von Konstruktoren war in früheren PHP-Versionen reichlich umständlich, trug doch die Konstruktormethode immer den Namen der Klasse und musste aus einer abgeleiteten Klasse explizit aufgerufen werden, um das Objekt zu initialisieren. Eine einheitlich benannte __construct()-Methode übernimmt nun die Aufgabe des Konstruktors; parent::__construct() ruft die Eltern-Methode der abgeleiteten Klasse auf. Analog dazu kennt PHP 5 jetzt auch Destruktoren, die die Zend-Engine automatisch dann anspringt, wenn die letzte Referenz auf das Objekt gelöscht wurde. Erst nach der Ausführung der __destruct()-Methode wird der Speicher vom Objekt befreit. Auch Ausnahmen (Exceptions) kann PHP 5 behandeln. Eine Java entlehnte try-catch-Konstruktion fängt Ausführungsfehler ab.

Bei der Implementierung sämtlicher Neuerungen haben die Entwickler strikt auf Rückwärtskompatibilität geachtet. Vorhandener PHP 4-Code sollte problemlos auch unter PHP 5 laufen. Beispiele zu den Neuerungen bietet das Zend-2-Changelog.

Testwillige können sich den Quellcode und vorkompilierte Windows-Binaries auf der PHP-Homepage besorgen. Aber Achtung: Es handelt sich um eine Beta, die wegen möglicher Instabilitäten nicht für den produktiven Einsatz geeignet ist, warnen die Entwickler. (ola/c't)

bdominik schrieb am 30.06.2003 um 13:46 Uhr

Bekommt man MySQL nichtmehr zum laufen?

MrNase schrieb am 30.06.2003 um 15:12 Uhr

..nicht mehr mitgeliefert... klingt für mich als ob es ginge aber das man es halt selber kompilieren muss :)

Superhausi schrieb am 30.06.2003 um 15:34 Uhr

Oder einfach als Extension einbinden... Es ist einfach nicht mehr so, dass die Windows Binaries die MySQL Anbindung einkompiliert haben bzw. die Linux Sources MySQL standardmässig mitkompilieren (vermute ich einfach mal).
Dass eine MySQL Verbindung weiterhin möglich ist, sagt schon nur dieser eine Satz aus:
Bei der Implementierung sämtlicher Neuerungen haben die Entwickler strikt auf Rückwärtskompatibilität geachtet.

Ich werds mir heute Abend auf jeden Fall mal runterladen und ein bisschen testen...

Jonas schrieb am 30.06.2003 um 18:46 Uhr

is aber trotzdem falsches forum *zuhausischiel*

MrNase schrieb am 30.06.2003 um 19:10 Uhr

Was wäre wenn MySQL-Bibliothek nicht mehr mit php5 liefe?! *angstmach*

back to the steinzeit? :(

master_mario schrieb am 01.07.2003 um 00:43 Uhr

Glaub nich das sie das machen, damit würden etwa 80% aller Internetanwendungen die auf php und ner DB aufbauen unbrauchbar. Und das sind viele. Wer kann nutzt MySQL, daher schätze ich mal auf 80%.

Morpheus schrieb am 01.07.2003 um 19:26 Uhr

verschoben da Offtopic

gfc schrieb am 01.07.2003 um 20:56 Uhr

aber es gibt noch andere DBs wie mysql... die meisten davon um längen besser (aber durch vermehrte optionen meist lahmer..)

master_mario schrieb am 01.07.2003 um 22:25 Uhr

Eben zu langsam und entscheidend ist ja das die Meisten nu mal MySQL benutzen. Daher glaube ich nicht das die Unterstützung aus PHP verschwinden wird. Wird wohl so sein wie geschrieben.

Die MySQL-Bibliothek wird aus lizenzrechtlichen Gründen ab sofort nicht mehr mitgeliefert.

Kann man aber sicher umgehen!?!?!?!?

bdominik schrieb am 01.07.2003 um 22:28 Uhr

MySQL AB arbeitet aber an einer Änderung der Lizenz, sodaß MySQL 4.x "legal" mit PHP eingesetzt wreden kann

scheint doch noch hoffnung da zu sein, wenngleich ich eigentlich nicht auf mysql 4 umsteigen will!

Seite 1 von 1