Abo
  • Services:
Anzeige

PHP 5.3.0 veröffentlicht

Namespaces, Lambda-Funktionen, Closures und Late Static Binding

Mit der Veröffentlichung von PHP 5.3.0 halten zahlreiche größere Änderungen Einzug in die freie Scriptsprache. Einige davon waren ursprünglich erst für PHP 6 geplant.

Zu den wesentlichen Neuerungen von PHP 5.3 zählt die Einführung von Namespaces, die seit der dritten Alphaversion Teil der Scriptsprache sind. Diese Namensräume kapseln Funktionen und Klassen ein, wodurch sich Programmierer keine Gedanken mehr machen müssen, ob ein Funktions- oder Klassenname bereits verwendet wird. Sie waren ursprünglich erst für PHP 6 anvisiert.

Anzeige

Ebenfalls neu sind Lambda-Funktionen, auch bekannt als anonyme Funktionen, zum Beispiel in JavaScript. Sie sind ein reguläres Sprachelement funktionaler Sprachen und werden nicht explizit mit einem Namen deklariert und unter diesem aufgerufen, sondern der Funktionskörper muss einer Variablen zugewiesen werden. Deshalb kann eine Lambda-Funktion auch als Über- oder Rückgabewert einer Funktion übergeben werden.

Zusammen mit Lambda-Funktionen werden auch sogenannte Closures eingeführt. Lambda-Funktionen werden häufig innerhalb einer Funktion oder Methode definiert, aber zumeist nicht darin ausgeführt. Das führt zu Problemen mit der Sichtbarkeit von Variablen innerhalb der Lambda-Funktion. In funktionalen Sprachen sind äußere Variablen standardmäßig innerhalb der Lambda-Funktion sichtbar. In PHP hingegen müssen erforderliche Variablen explizit mit dem neuen Schlüsselwort use in die Lambda-Funktion importiert werden.

Mit dem neuen Prefix static:: für Methodenaufrufe wird "Late static binding" eingeführt. Es kann für den statischen Aufruf einer Methode innerhalb einer Klassenmethode verwendet werden, ohne dass der Klassenname bekannt ist. Es reicht, wenn die Methode innerhalb der Klasse definiert oder von einer Klasse geerbt wurde.

Die neue Metamethode für Klassen __callStatic() erlaubt es, statische Aufrufe undefinierter Klassenmethoden abzufangen und auszuwerten, analog zu __call() für Methodenaufrufe auf instanzierte Objekte.

Darüber hinaus versprechen die Entwickler eine verbesserte Geschwindigkeit, eine optionale Garbage-Collection für zyklische Referenzen und ebenfalls optional mysqlnd als nativen Ersatz für libmysql. Verbessert wurde die Windows-Unterstützung einschließlich VC6 und VC9 Binarys und es werden einige neue Erweiterungen mitgeliefert: ext/phar, ext/intl, ext/fileinfo, ext/sqlite3 und ext/enchant.

Zugleich entfallen einige Erweiterungen (ext/mhash, ext/msql, ext/pspell, ext/sybase), andere wurden in PECL verschoben (ext/ming, ext/fbsql, ext/ncurses und ext/fdf). Zudem wurde die Nutzung interner APIs vereinheitlicht.

Die wesentlichen Neuerungen im Detail finden sich im Release-Anouncement, eine detaillierte im Changelog. Ein Migration-Guide hilft beim Umstieg von PHP 5.2 auf 5.3.

PHP 5.3.0 steht unter php.net zum Download bereit.


eye home zur Startseite
IhrName9999 06. Jul 2009

Mei was sind wir heute aber wieder schizophren, Jüngelchen :) http://www...

Monito 06. Jul 2009

Ich denke liebes Volk, dass PHP sein bestes endgültig gegeben hat und die Sprache jetzt...

dfgdfgdfg 01. Jul 2009

Im Grunde ists ja auch nur ein neuer Datentyp. Also ja.


Werner der Mundräuber / 01. Jul 2009

PHP 5.3 ist da



Anzeige

Stellenmarkt
  1. HAMBURG SÜD Schifffahrtsgruppe, Hamburg
  2. Ratbacher GmbH, Raum Würzburg
  3. ISCAR Germany GmbH, Ettlingen
  4. dSPACE GmbH, Paderborn


Anzeige
Spiele-Angebote
  1. 10% Rabatt auf ausgewählte Top Gaming Artikel mit dem Gutscheincode: PICKYOURLOOT
  2. 10,18€
  3. ab 59,00€ (Vorbesteller-Preisgarantie)

Folgen Sie uns
       


  1. Windows 10

    Microsoft will auf Zwangsupdates verzichten

  2. Brio 4K Streaming Edition

    Logitech-Kamera für Lets-Player und andere Streamer

  3. Vor Bundestagswahl

    Facebook löscht Zehntausende Spammer-Konten

  4. Bilderkennung von Google

    Erste Hinweise auf Lens in der Google-App

  5. Open Source

    Node.js-Führung zerstreitet sich über Code-of-Conduct

  6. Enigma ICO

    Kryptowährungshacker erbeuten halbe Million US-Dollar

  7. SNES Classic Mini

    Mario, Link und Samus machen den Moonwalk

  8. Bixby

    Samsungs Sprachassistent kommt auf Englisch nach Deutschland

  9. Apache-Lizenz 2.0

    OpenSSL-Lizenzwechsel führt zu Code-Entfernungen

  10. Knights Mill

    Intels Xeon Phi hat 72 Kerne und etwas Netburst



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Nach Anschlag in Charlottesville: Nazis raus - aber nur aus PR-Gründen
Nach Anschlag in Charlottesville
Nazis raus - aber nur aus PR-Gründen
  1. Bundesinnenministerium Neues Online-Bürgerportal kostet 500 Millionen Euro
  2. EU-Transparenz EuGH bekräftigt nachträglichen Zugang zu Gerichtsakten
  3. Rücknahmepflicht Elektronikschrott wird kaum zurückgegeben

Radeon RX Vega 64 im Test: Schnell und durstig mit Potenzial
Radeon RX Vega 64 im Test
Schnell und durstig mit Potenzial
  1. Radeon RX Vega Mining-Treiber steigert MH/s deutlich
  2. Radeon RX Vega 56 im Test AMD positioniert sich in der Mitte
  3. Workstation AMD bringt Radeon Pro WX 9100

Threadripper 1950X und 1920X im Test: AMD hat die schnellste Desktop-CPU
Threadripper 1950X und 1920X im Test
AMD hat die schnellste Desktop-CPU
  1. Ryzen AMD bestätigt Compiler-Fehler unter Linux
  2. CPU Achtkerniger Threadripper erscheint Ende August
  3. Ryzen 3 1300X und 1200 im Test Harte Gegner für Intels Core i3

  1. Re: Viel konsequenter dagegen vorgehen!

    plutoniumsulfat | 00:19

  2. Re: Schwache Leistung

    DF | 00:14

  3. Re: Also Zwangsupdate nach Win10...

    plutoniumsulfat | 00:03

  4. Re: Können die das jetzt bitte auch bei z.B...

    sofries | 00:03

  5. Re: Finde ich super!

    DF | 22.08. 23:55


  1. 18:04

  2. 17:49

  3. 16:30

  4. 16:01

  5. 15:54

  6. 14:54

  7. 14:42

  8. 14:32


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel