PHP Digest n ° 151 (25 février - 11 mars 2019)


Nouvelle sélection avec des liens vers des nouvelles et des documents. En version: mises à jour de PHP, Laravel 5.8, Xdebug 2.7 et d'autres versions, 3 RFC frais, 2 acceptés et le concept de PHP Internals, une partie d'outils utiles, et bien plus encore.

Bonne lecture!



Nouvelles et communiqués



Internes PHP


  • [RFC] Saner chaîne pour comparer les nombres - Dans son récent RFC, Nikita Popov suggère de changer le comportement de == et de rendre les comparaisons lax moins sujettes aux erreurs. En particulier, la comparaison des nombres n'est proposée que si la chaîne à comparer est en fait une chaîne numérique. Sinon, le nombre est converti en chaîne et la chaîne est comparée.

    Cette proposition implique un changement dans le comportement des opérateurs de comparaison <=> , == != , > , >= , < , et <= , les constructions de switch , des fonctions comme in_array() , sort() et autres.

    En réponse, des idées de degrés divers de radicalisme ont été reçues: depuis l'introduction d'un drapeau spécial, declare('strict_comparison=1'); , ce qui transformerait tout == en === , avant l'offre d'annuler == en général .

    En attendant, en 7.4, Warning sera probablement lancé si le résultat de la comparaison diffère de ce qui est attendu en PHP 8.
  • [RFC] Autoriser les espaces de fin dans les chaînes numériques - Une autre suggestion conçue pour améliorer la cohérence, mais en s'affaiblissant. Il est proposé d'autoriser les espaces à la fin des lignes numériques, c'est-à-dire pour que "123 " == " 123" et toutes les autres opérations fonctionnent, ainsi que pour les lignes avec des espaces de début.
  • [RFC] Erreurs de type cohérentes pour les fonctions internes - La proposition a été acceptée, ce qui signifie qu'en PHP 8, les fonctions intégrées lèveront une TypeError si des paramètres du mauvais type sont passés et, par conséquent, ne renverront pas null.
  • [RFC] Références faibles - Proposition de mise en œuvre de liens faibles acceptée.
  • [RFC] Classes verrouillées - Il est proposé d'introduire un nouveau mot clé locked pour les classes. Ces classes seront fermées pour l'utilisation dynamique des propriétés, c'est-à-dire que vous ne pouvez pas accéder aux propriétés non déclarées:
    Texte masqué
     locked class TestClass { public $definedProp; } $t = new testClass(); $t->definedProp = "OK"; echo $t->definedProp; unset($t->definedProp); echo $t->nonExistentProp; // Error $t->nonExistentProp = "Not OK"; // Error unset($t->definedProp); // Error 
  • vidéo PHP Internals News: Episode 1 - Nouveau podcast de l'auteur Xdebug Derick Rethans. Dans le premier numéro, une conversation avec Nikita Popov.
  • Autoriser le lancement de __toString () - PR de Nikita avec un correctif pour l' un des anciens problèmes PHP - l'incapacité de lever des exceptions dans __toString .
  • Compréhension de liste - Un concept de Sarah Goleman avec l'implémentation de la compréhension de liste pour PHP. La syntaxe est moins élégante qu'en Python, mais elle semble intéressante:
     $a = [1, 2, 3]; $mul = 3; $c = [ for $a as $v yield $mul * $v use ($mul) ]; 

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
Numéro précédent: PHP Digest No. 150

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


All Articles