PHP Digest n ° 155 (22 avril - 6 mai 2019)


Nouvelle sélection avec des liens vers des nouvelles et des documents. Dans la version: mises à jour PHP, Codeception 3.0 et autres versions, lambdas courts en PHP 7.4 et un aperçu des dernières phrases RFC de PHP Internals, une partie des outils utiles, et bien plus encore.

Bonne lecture!



Nouvelles et communiqués


  • PHP 7.3.5
  • PHP 7.2.18
  • PHP 7.1.29
  • Codeception 3.0 - Console interactive améliorée, étapes de répétition, prise en charge de PHPUnit 8 et plus.
  • spiral / roadrunner 1.4.0 - Mise à jour du serveur d'applications, de l'équilibreur et du gestionnaire de processus sur Go. La version inclut un arrêt sûr pour les travailleurs, la prise en charge des variables d'environnement dans les configurations, la possibilité de contrôler les travailleurs dans un pool, etc. Il y a un nouveau site web roadrunner.dev .
  • PHP Russie 2019-17 mai, Moscou, Infospace. Il ne reste que quelques jours avant la dernière augmentation de prix.

Internes PHP


  • [RFC] Arrow Functions 2.0 - La proposition a été votée et acceptée. Maintenant, en PHP, il y aura de courtes fonctions anonymes utilisant la syntaxe fn() => et la capture automatique des variables d'une portée externe par valeur:
     $y = 1; $fn = fn($x) => $x + $y; 

    Jusqu'à présent, les fonctions ne peuvent avoir qu'une seule expression strictement, dont le résultat sera retourné. Les fonctions multilignes peuvent être implémentées ultérieurement. Le piratage en utilisant l'opérateur && comme dans JS ne fonctionnera pas:
    Texte masqué
     andOperator = ($x) => ($y = 10) && $x + $y; console.log(andOperator(5)); // 15 
     $andOperator = fn($x) => ($y = 10) && $x + $y; var_dump($andOperator(5)); // bool(true) 
    Mais vous pouvez appliquer le hack en utilisant end() :
    Texte masqué
     <?php function last(...$args) { return end($args); } $multipleLines = fn($x) => last( $y = $x * 10, // 10 $z = $y + 15, // 25 $x + $y + $z // 1 + 10 + 25      last() ); var_dump($multipleLines(1)); // int(36) 

    Ou en utilisant array_slice() , merci à Grikdotnet pour l' astuce :
    Texte masqué
     $multipleLines = fn($x) => array_slice([ $y = $x * 10, $z = $y + 15, $x + $y + $z ], -1)[0]; var_dump($multipleLines(1)); // int(36) 

  • [RFC] Déprécier les balises ouvertes PHP courtes - La proposition abordait l'idée de supprimer la possibilité d'utiliser des balises courtes <? Cependant, il a été rencontré par une tempête d'indignation et de controverse. Par conséquent, une manière beaucoup plus douce a été proposée dans laquelle, dans les prochaines versions, l'opportunité reste disponible telle quelle, et un avertissement de dépréciation sera lancé.
  • [RFC] Spread Operator in Array Expression - Proposition acceptée presque à l'unanimité. L'opérateur ... sera désormais disponible en tableaux.
    Texte masqué
     $parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon']; // ['banana', 'orange', 'apple', 'pear', 'watermelon']; 
    De plus, en l'utilisant, vous pouvez rapidement convertir un itérateur en tableau au lieu d'utiliser iterator_to_array :
     $array = [...$iter]; 
  • RFC: Autoriser la levée d'exceptions de __toString () - Nikita continue de corriger systématiquement la "tristesse de PHP" une par une. Cette fois, nous parlons de la possibilité de lever une exception dans __toString() . Une autre amélioration agréable et pas du tout triviale pour PHP 7.4, qui élimine le besoin d'utiliser toutes sortes de solutions de contournement 1 , 2 .
  • audio PHP Internals News # 7 - Derick Rethans discute avec Zeev Surasky de JIT en PHP 8 et des tentatives d'implémentation antérieures.
  • audio PHP Internals News # 8 - Conversation avec George Banyard, contributeur à la documentation PHP, sur les balises courtes.

Les outils



Symfony



Laravel



Yii



Php async



Matériel d'apprentissage



Merci de votre attention!

Si vous constatez une erreur ou une inexactitude - veuillez m'en informer en PM .
Questions et suggestions écrivez à mail ou twitter .

Plus de nouvelles et de commentaires sur le canal PHP Digest Telegram.

Envoyer le lien
Liens de recherche pour tous les résumés
← Version précédente: PHP Digest n ° 154

Source: https://habr.com/ru/post/fr450642/


All Articles