Nouvelle sélection avec des liens vers des nouvelles et des documents. Dans la version: PHPUnit 8 et d'autres versions, PSR-14 et PSR-12 en phase de révision, JIT pour PHP, ont commencé à travailler sur PHP 8, un tas de nouveaux RFC de PHP Internals, une partie des outils utiles, et bien plus encore.
Bonne lecture!
Nouvelles et communiqués
Internes PHP
- Une branche PHP-7.4 a été créée et le référentiel maître PHP cible désormais PHP 8.0. Cela signifie que le travail sur PHP 8.0 a déjà commencé et PHP 7.4 sera développé en parallèle. Ainsi, en PHP 8, tout un tas de fonctionnalités obsolètes ont déjà été supprimées .
- [RFC] JIT - Une vieille idée avec JIT en PHP a finalement trouvé sa mise en œuvre grâce aux efforts de Dmitry Stogov. JIT est implémenté en tant que partie indépendante d'OPcache et peut être activé / désactivé même pendant l'exécution. PHP 8 est considéré comme la version cible, mais il est possible de l'inclure dans PHP 7.4 en tant que fonctionnalité expérimentale désactivée par défaut. Selon les benchmarks de Nikita Popov, JIT donne une augmentation de 30% pour PHP-Parser et d'environ 5% pour amphp / http-server . Il n'y a actuellement aucun support Windows, ce qui est controversé dans Internals.
En attendant, vous pouvez déjà essayer PHP + JIT en utilisant des images Docker (merci @dmitrybalabka ). Également un excellent article sur ce que JIT signifie pour les utilisateurs PHP . - [RFC] Erreurs de type cohérentes pour les fonctions internes - Un autre RFC de Nikita Popov. Il est suggéré qu'en PHP 8 toutes les fonctions intégrées lèvent une TypeError lorsque des paramètres du mauvais type sont passés au lieu de vorning et de retourner
null
.Texte masquéAu lieu de cela:
var_dump(strlen(new stdClass));
Sera:
declare(strict_types=1); var_dump(strlen(new stdClass));
- [RFC] RFC Workflow & Voting (mise à jour 2019) - Tenter de resserrer quelque peu le vote RFC et de bureaucratiser le processus a rencontré une tempête de critiques chez Internals. A tel point que des propositions alternatives sont apparues. Zeev Surasky a promis de réviser sa version et de prendre en compte les critiques.
- [RFC] Références faibles - Il est proposé d'ajouter la classe
WeakReference
pour implémenter des liens faibles, ce qui permettra au développeur d'enregistrer le lien vers l'objet, tout en ne l'empêchant pas d'être supprimé par le garbage collector. Cela peut être particulièrement utile pour toutes sortes de caches. - [RFC] Autoriser la variance du type de retour nul - Une proposition pour implémenter la possibilité de remplacer le type de retour
void
dans les méthodes d'héritier. Apparu sur la piste de la modification de la signature de la méthode setUp()
et de plusieurs autres dans PHPUnit 8.Texte masqué class Foo { function method1 (): void {} function method2 () {} } class Bar extends Foo { function method1 (): array { return []; } function method2 (): array { return []; } } class Baz extends Foo { function method1 () { return 42; } function method2 () { return 42; } }
- [RFC] Typhint mixte - Et ici, il est proposé d'ajouter une typographie
mixed
. Cela indiquera que la fonction peut accepter (ou renvoyer) des valeurs de différents types. - [RFC] Annotations 2.0 - Projet de suggestions d'annotations complètes. Il y a déjà eu des tentatives d'implémentation d' annotations et d' attributs simples . En attendant, vous pouvez utiliser l'excellent plugin d'annotation de PhpStorm .
Les outils
Symfony
Laravel
Yii
Php async
CMS
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 ° 148