Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Uniform Variable Syntax

166 views

Published on

Webinar Darkmira PHParty7 France - Présentation d'une des principales incompatibilités de la nouvelle version PHP7, l'uniformisation de la syntaxe des variables

Published in: Internet
  • Be the first to comment

  • Be the first to like this

Uniform Variable Syntax

  1. 1. Uniform Variable Syntax Webinar PHParty7 France - 28/11/15
  2. 2. Pourquoi ? En fait, cela résout de nombreuses incohérences sur la façon dont les expressions sont évaluées. Mais cela peut aussi causer des problèmes, notamment de compréhension...
  3. 3. Uniform Variable Syntax $foo->bar () (); $foo est un object bar() est une function qui retourne un callable Le callable exécute
  4. 4. Uniform Variable Syntax $foo () [‘bar’] () ; $foo est une fonction retourne un array [‘bar’] est un élément de cet array [‘bar’] contient un callable () execute le callable
  5. 5. Uniform Variable Syntax Exemple 1 $obj1 = new StdClass(); $obj1->name = ‘Darth’; $obj2 = new StdClass(); $obj2->name = ‘Vader’; echo [$obj1, $obj2][0]->name; https://3v4l.org/
  6. 6. Uniform Variable Syntax Exemple 2 class luke { static $vs = 'vader'; } class vader{ static $say; } vader::$say = function () { echo "I am your father"; }; $skywalker = 'luke'; ($skywalker::$vs::$say)();
  7. 7. Uniform Variable Syntax BC Breaks Old New $$foo['bar']['baz'] ${$foo['bar']['baz']} ($$foo)['bar']['baz'] $foo->$bar['baz'] $foo->{$bar['baz']} ($foo->$bar)['baz'] $foo->$bar['baz']() $foo->{$bar['baz']}() ($foo->$bar)['baz']() Foo::$bar['baz']() Foo::{$bar['baz']}() (Foo::$bar)['baz']()
  8. 8. Mode explicite • variable-variables est peu utilisé • variable-properties l’est plus Si vous avez des difficultés, vous pouvez utiliser des crochets (curly braces) pour vous assurer le même comportement dans PHP 5.6 et PHP 7.

×