Persönlich freue ich mich sehr über die Features. Vor allem finally fehlt mir unglaublich häufig.
Jedoch stelle ich mir die Umstellung mit der Dereferenzierung schon etwas anstrengend vor. Denke, dass dies ein Punkt sein wird, wo viele Leute aufschreien werden bzgl. Kompatibilität und Co.
Benutzer wird von Ihnen ignoriert. Anzeigen
Also spontan Fällt mir kein Fall ein in dem dieses Sprachfeature[1] irgendwelche Probleme mit der Abwärtskompatibilität verursachen könnte.
[1] https://wiki.php.net/rfc/constdereference
Benutzer wird von Ihnen ignoriert. Anzeigen
Ich bin mir gerade nicht ganz sicher in welchen Situationen man dieses Feature praktisch sinnvoll anwenden kann... Warum sollte ich noch bei Erstellung eines Arrays auf ein einzelnes Element dieses Arrays zugreifen wollen? Wozu definiere ich dann überhaupt ein Array und verwende nicht einfach direkt das gesuchte Element?
Benutzer wird von Ihnen ignoriert. Anzeigen
Vanger schrieb:
--------------------------------------------------------------------------------
> Ich bin mir gerade nicht ganz sicher in welchen Situationen man dieses
> Feature praktisch sinnvoll anwenden kann... Warum sollte ich noch bei
> Erstellung eines Arrays auf ein einzelnes Element dieses Arrays zugreifen
> wollen? Wozu definiere ich dann überhaupt ein Array und verwende nicht
> einfach direkt das gesuchte Element?
spielst Du auf das Beispiel im Link an? Das ist, wie gesagt, nur ein Beispiel, "in echt" würde man Funktionsaufrufe verwenden:
<?php
$value = $this->invokeSomethingThatReturnsAnArray()['thing'];
?>
zum Beispiel. Ich vermisse das sehr.
Ein anderes Beispiel wäre, wenn man Arrays als Hilfe verwendet, zB
<?php
$string = 'a,csv,list';
$firstItem = explode(',', $string)[0];
?>
(ginge freilich auch besser mit strtok bspw., "but you get the idea" :)
1 mal bearbeitet, zuletzt am 19.11.12 13:14 durch Polecat42.
Benutzer wird von Ihnen ignoriert. Anzeigen
ok, ich Idiot... die wollen das tatsächlich für Konstruktoren verwenden... ich wundere mich gerade, weil das von mir beschriebene ja schon in 5.4 geht ;)
OK, Kommando zurück: ich verstehe vollständig Deinen Einwand und frage mich, wozu das gut sein soll...
Benutzer wird von Ihnen ignoriert. Anzeigen
Der einzige Grund warum die Beispiele im Link nicht funktionieren ist, dass array() keine Funktion sondern ein Sprachkonstrukt ist. Gut, positiv daran wäre zumindest mal, dass array() sich etwas mehr wie eine Funktion verhalten würde. Da stelle ich mir aber die Frage warum man es nicht einfach direkt als Funktion implementiert. Sprachkonstrukte sind in den meisten Fällen verzichtbar und nur eine Fehlerquelle. Das hier funktioniert nämlich beispielsweise nicht:
<?php
$a = 'array';
$a('foo', 'bar');
?>
Ergebnis:
> Call to undefined function array()
Das folgende funktioniert hingegen:
<?php
function foo($a, $b) { echo $a.' '.$b.'!'; }
$f = 'foo';
$f('Hello', 'World');
?>
Ergebnis:
> Hello World!
Benutzer wird von Ihnen ignoriert. Anzeigen
Wenn du für CSV-String/-Dateien noch mal explode()/implode() benutzt, komm ich mitm Knüppel ;)
http://php.net/str_getcsv & http://php.net/fgetcsv
Benutzer wird von Ihnen ignoriert. Anzeigen
war doch nur ein Beispiel ;-) Ich sage: wenn nochmal jemand überhaupt CSV-Dateien/-Strings benutzt, komm *ich* middm Knüppel! :)
Benutzer wird von Ihnen ignoriert. Anzeigen
Ach so als Export von Datenbanken ja sehr geeignet. Knüppel lieber die Leute die für ihre Schnittstellen CSV nehmen statt JSON/XML etc. ;)
$firstItem = explode(',', $string)[0]; geht im übrigen schon immer:
list($firstItem, ) = explode(',', $string);
Neu ist halt nur, dass das in foreach() funktioniert.
Benutzer wird von Ihnen ignoriert. Anzeigen
Das neue Google Maps ist beeindruckend schnell
Verfolgungsjagden zwischen Cops und Rasern
"EU-Vorschlag würde freies Kopieren erlauben"
"Google, Facebook, Twitter verletzen mein Patent"
Chinesische Hacker werben offen auf IT-Messen
Kommentare: 765 | letzter Beitrag 09:43 Uhr
Kommentare: 575 | letzter Beitrag 08:06 Uhr
Kommentare: 251 | letzter Beitrag 23.05. 17:14
Kommentare: 196 | letzter Beitrag 09:32 Uhr
Kommentare: 170 | letzter Beitrag 23.05. 08:02
E-Mail an news@golem.de

Der taiwanische SSD-Hersteller Innodisk stellt mit seiner NanoSSD eine regelrecht winzige SSD mit SATA-Unterstützung vor. Die NanoSSD hat nur etwa 1 Prozent der Größe einer 2,5-Zoll-SSD und speichert bis zu 64 GByte.

Mit der neuen Version von Google Chrome können Anwender nicht nur per Mikrofon Suchanfragen bei Google starten, sondern erhalten auch eine gesprochene Antwort. Sogar Anschlussfragen beantwortet die Suchmaschine.

Steve Wilhite, früherer Mitarbeiter von Compuserve, hat einen Webby Award für die Entwicklung des Grafikformates Gif erhalten. Aus diesem Anlass hat der Erfinder noch einmal auf der korrekten Aussprache beharrt.

Das Go-Launcher-Team hat einen eigenen Browser für Android veröffentlicht. Der Next Browser wird über Gesten bedient, synchronisiert Lesezeichen und kann mittels Erweiterungen um zusätzliche Funktionen ergänzt werden.

Microsoft hat nun offiziell angekündigt, dass ein verbessertes Kinect für Windows ab 2014 verkauft werden wird. Der Sensor wird technisch dem der Spielekonsole Xbox One entsprechen.

Google hat Chrome 28 in einer Betaversion veröffentlicht, erstmals mit Blink statt Webkit als Rendering-Engine. Dies soll die Ladezeit von DOM-Inhalten um 10 Prozent verkürzen. Googles Javascript-Engine wird dank einer Mozilla-Entwicklung deutlich schneller.