![]() |
| | LinkBack | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 | |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 3.198
|
Heute ist es erschienen: PHP 5.3 Zitat:
| |
| | |
| | Nach oben #2 |
| Christian W. Achatz Registriert seit: 05.02.2007 Ort: München
Beiträge: 198
|
Nach der Installation habe ich mich erstmal tierisch aufgeregt: http://forum.adventure-php-framework....php?f=6&t=133. Solche Kinderkrankheiten... |
| | |
| | Nach oben #3 |
| Erfahrener Benutzer Registriert seit: 02.12.2004 Ort: Koblenz
Beiträge: 4.794
|
Warum auch immer man dazu jetzt den Link posten musste. Nunja, ich hab mich nun seit ein paar Monaten nicht mehr mit PHP oder gar der Weiterentwicklung der Sprache befasst. Kann mir eventuell jemand sinnvolle Anwendungsgebiete für die garbage collection geben? Die Doku bzw. das Beispiel in den Kommentaren hilft mir aktuell nicht wirklich weiter. Da der Link zu den "closures" in der Pressemitteilung nicht funktioniert, wäre es auch nett, wenn mir einer erklären könnte, was es damit auf sich hat. Danke. :) |
| | |
| | Nach oben #4 | |
| Christian W. Achatz Registriert seit: 05.02.2007 Ort: München
Beiträge: 198
| Zitat:
| |
| | |
| | Nach oben #5 |
| Projektleiter Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 1.365
|
Closures sind, vereinfacht ausgedrückt, Funktionen, die Zugriff auf ihren umgebenden Zustand (also dort definierte Variablen) haben. Bsp.: PHP-Code: Der neue GC hilft bei Skripts, die eine längere Laufzeit haben (also z.B. für cronjobs) oder mit stark zyklischen Objekten (A referenziert B, B referenziert A) arbeiten. Bisher sind die am Speicher gescheitert, weil der nicht freigegeben wurde. Ich für meinen Teil werde jetzt erstmal abwarten, wie das ganze von den Webspace-Anbietern akzeptiert wird. Namespaces, Closures und Lambdas sind zwar Dinge, auf die ich schon lange warte, aber irgendwie seh ich mir die an und bin enttäuscht (ich sag nur: \). Von daher erstmal abwarten, wie sich das verbreitet und ob es sich lohnt, sich damit näher auseinander zu setzen. |
| | |
| | Nach oben #6 | |
| Martin Eisengardt Registriert seit: 30.03.2006 Ort: Pfinztal
Beiträge: 396
| Zitat:
Prinzipiell ist das aus JavaScript bereits bekannt, wenn du mal bei der Web-Entwicklung bleibst. Dojo baut zum Beispiel die Objektstrukture aus synthetischen Klassen zusammen. Die Methoden einer Klasse werden über Closures zusammentgestöpselt. In dem Zusammenhang noch das Stichwort "Lambda Functions". So kannst du beispielsweise über die PHP-Magics "__call", "__get" und "__set" ebenfalls Klassen aufbauen, denen zu Laufzeit neue Methoden zugeordnet werden können. Beispielsweise sowas: PHP-Code: Ich selbst fange gerade erst an, damit rumzuspielen, aber das ist schon recht mächtig. Funktionen, die du eigentlich nur als kleines Bauteil brauchst, so wie beim obigen Beispiel als Callback, müssen nicht mehr global registriert weden und du musst dir keine sinnvollen Namen dazu mehr überlegen. Im Prinzip eine Weiterentwicklung von "create_function", was es schon länger gibt. Früher kam da nur der generische Name einer Funktion rüber, nun sind die wirklich (auch vom Variablen-Typ her, wenn ich mich nicht irre) anonym und können auch restlos zerstört werden, wenn man die Variable löscht. Es gibt vielleicht eine kleine Neuerung, die unbeachtet ist, aber in Vorbereitung auf PHP 6 unabdingbar sein dürfte: PHP-Code: Geändert von mepeisen (01.07.2009 um 08:41 Uhr) | |
| | |
| | Nach oben #9 |
| Martin Eisengardt Registriert seit: 30.03.2006 Ort: Pfinztal
Beiträge: 396
|
In jeder Datei, da es auch ausschließlich pro Datei gilt. Die Declare-Anweisung ist (ähnlich dem Namespace) eine Anweisung, die dem Parser zur Verfügung steht, wenn er eine PHP-Datei analysiert und in ein internes Format umsetzt. Bei jeder neuen PHP-Datei, die inkludiert wird, könnte es sich ja wieder um einen anderen Zeichensatz handeln. So wird später auch möglich sein, dass man beispielsweise UTF-irgendwas-Dateien und ISO-irgendwas-Dateien in ein und demselben Projekt mischt. Und ja, analog Namespace muss es die allererste Anweisungen in der Datei sein. Im Handbuch steht auch, was nunwirklich zuerst kommen muss (namespace oder declare) und wie das dann geht. |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| alles zu PHP 5.3 - Vorabversionen | Ben | Nachrichten | 12 | 30.06.2009 21:28 |
| PHP 5.3 - Neue MySQL5 Schnittstelle (mysqlnd) | marc9022 | Datenbanken | 12 | 21.05.2009 14:34 |
| Kummunikation zwischen PHP Und einem "Java Server" | Avaris | Anwendungsdesign / Softwarearchitektur | 25 | 07.12.2008 16:23 |
| PHP 5.1.5, PHP 4.4.4 und PHP 5.2.0 RC2 veröffentlicht | Ben | Nachrichten | 2 | 01.09.2006 16:05 |
| Neue PHP "release candidates": PHP 4.4.2 RC 1 und PHP 5.1 RC 6 | Ben | Nachrichten | 1 | 21.11.2005 20:48 |