Nieuws
In PHP 7: Verbeterde variabele syntax
PHP 7 krijgt een uniforme variabele syntax. Dit zorgt ervoor dat PHP meer dingen kan ondersteunen wat betreft het direct gebruiken van return values.
Dit is te vergelijken met hoe JavaScript en andere talen dit momenteel al afhandelen.
Vanaf PHP 7 kun je codes als dit uitvoeren:
<?php
// 2e element in de array die get_all_posts terug geeft
get_all_posts()[1];
// een functie die teruggegeven wordt door foo() aanroepen
foo()();
// een anonymous function aanroepen
(function () {
// ... hier code met een eigen scope
})();
?>
Door deze veranderingen zijn er wel wat syntaxes die anders werken, zoals $class->$lijst['a']:
<?php
// vóór PHP 7
$class = new ...;
$lijst = array('a' => 'foo', '...');
$class->$lijst['a'];
// wordt gezien als $class->foo (dus foo property van $class)
// PHP 7
$class = new ...;
$lijst = 'bar';
$class->$lijst['a'];
// wordt gezien als $class->$lijst en daar de 'a' element van
?>
Deze verandering gaat ervoor zorgen dat in veel gevallen de return value van een functie niet eerst in een variabele opgeslagen hoeft te worden, maar dat deze meteen gebruikt kan worden.
Vanaf PHP 7 kun je codes als dit uitvoeren:
<?php
// 2e element in de array die get_all_posts terug geeft
get_all_posts()[1];
// een functie die teruggegeven wordt door foo() aanroepen
foo()();
// een anonymous function aanroepen
(function () {
// ... hier code met een eigen scope
})();
?>
Door deze veranderingen zijn er wel wat syntaxes die anders werken, zoals $class->$lijst['a']:
<?php
// vóór PHP 7
$class = new ...;
$lijst = array('a' => 'foo', '...');
$class->$lijst['a'];
// wordt gezien als $class->foo (dus foo property van $class)
// PHP 7
$class = new ...;
$lijst = 'bar';
$class->$lijst['a'];
// wordt gezien als $class->$lijst en daar de 'a' element van
?>
Deze verandering gaat ervoor zorgen dat in veel gevallen de return value van een functie niet eerst in een variabele opgeslagen hoeft te worden, maar dat deze meteen gebruikt kan worden.
Reacties
0