Maison titres PHP 7.4 devrait sortir en décembre 2019

PHP 7.4 devrait sortir en décembre 2019

Mar 27, 2019 am 11:33 AM
PHP 7.4

PHP 7.4 pourrait sortir en décembre 2019. Cette page sera mise à jour régulièrement.

<strong>Preloading</strong>préchargement rfc

Preloading (préchargement) est un ajout incroyable au noyau PHP, il peut apporter quelques améliorations majeures des performances.

En bref : si vous utilisez un framework aujourd'hui, ses fichiers doivent être chargés et recompilés à chaque requête. Le préchargement permet au serveur de charger les fichiers PHP en mémoire au démarrage et de les rendre disponibles en permanence pour toutes les requêtes ultérieures.

L'augmentation des performances a bien sûr un prix : si la source des fichiers préchargés change, le serveur doit être redémarré.

<code><strong>Typed properties</strong>Propriétés typées rfc

Les variables de classe peuvent être des indices de type :
class A
{
    public string $name;
    
    public Foo $foo;
}
Copier après la connexion

Mise à jour : les propriétés typées ont été fusionnées jusqu'à présent, les confirmant pour PHP 7.4.

<strong>Improved type variance</strong><strong>Variation de type améliorée</strong>(variance de type améliorée) J'ai déjà écrit sur le système de types de PHP, donc c'est agréable de voir quelques améliorations venir au noyau PHP.

Les différences de types sont un sujet digne de son propre article de blog

En bref : vous pourrez utiliser les

types de retour

covariant

et < ; 🎜> paramètre.
class ParentType {}
class ChildType extends ParentType {}

class A
{
    public function covariantReturnTypes(): ParentType
    { /* … */ }
}

class B extends A
{
    public function covariantReturnTypes(): ChildType
    { /* … */ }
}
Copier après la connexion

contravariantMise à jour : la RFC est actuellement en phase de vote, mais il semble qu'elle sera adoptée sans aucun problème.

class A
{
    public function contraVariantArguments(ChildType $type)
    { /* … */ }
}

class B extends A
{
    public function contraVariantArguments(ParentType $type)
    { /* … */ }
}
Copier après la connexion
<p>Interface de fonction étrangère</p>

(Interface de fonction étrangère)<strong>Foreign Function Interface</strong> rfcInterface de fonction étrangère, FFI, en abrégé, permet d'appeler du code C depuis l'espace utilisateur. Cela signifie que les extensions PHP peuvent être écrites en PHP pur.

Il est important de noter qu’il s’agit d’un sujet complexe. Vous avez toujours besoin de connaissances en C pour utiliser correctement cette fonctionnalité.

</p>Null<p><strong>Null</strong>Opérateur d'affectation de fusion rfc

Ne fait pas ça :

$data[&#39;date&#39;] = $data[&#39;date&#39;] ?? new DateTime();
Copier après la connexion
Vous pouvez faire ceci :

$data[&#39;date&#39;] ??= new DateTime();
Copier après la connexion
Mise à jour : Cette fonctionnalité est désormais fusionnée dans PHP 7.4.

Sérialisation d'objets personnalisés rfc

Cette RFC ajoute deux nouvelles méthodes magiques :

et __serialize. Les différences entre ces méthodes et les méthodes __unserialize et __sleep sont discutées dans la RFC. __wakeup

Mise à jour : RFC passée. Cette fonctionnalité sera ajoutée dans PHP 7.4.

<p>Plus de marges étroites<code><strong>No more narrow margins</strong>

rfc

Techniquement, ce n'est pas un produit lié à PHP 7.4 Mis à jour, mais c'est définitivement mérite d'être mentionné. Les règles de vote des RFC ont changé : elles nécessitent toujours une majorité des 2/3 pour être adoptées.

<code><strong>Reflection for references</strong> Réflexion pour les références rfc

Les bibliothèques comme le dumper var de Symfony s'appuient fortement sur Utilisez l'API de réflexion pour vider de manière fiable variables. Auparavant, il n'existait pas de support de réflexion approprié pour les références, ce qui obligeait ces bibliothèques à s'appuyer sur des hacks pour détecter les références.

ReflectionReferencePHP 7.4 a ajouté la classe

pour résoudre ce problème.

Mise à jour : RFC passée, modifications confirmées pour PHP 7.4.

mb_str_split  Ajout de rfc

Cette fonction fournit la même fonctionnalité que str_split, mais sur des chaînes multi-octets.

ext-hashToujours activé rfc

Comme le titre l'indique, cette extension est désormais disponible en permanence dans toutes les installations PHP.

PEARNon activé par défaut

Puisque PEAR n'est plus activement maintenu, l'équipe principale a décidé de supprimer son installation par défaut avec PHP 7.4.

HashingPassword Hash () Registre rfc

modifie en interne la façon dont la bibliothèque de hachage est utilisée, de sorte que les utilisateurs peuvent les utiliser plus facilement.

OBSERVÉ<strong>ext / wwdx</strong> <a href="https://wiki.php.net/rfc/deprecate-and-remove-ext-wddx" target="_blank">ext/wwdx</a>

rfc

Ce format d'échange de données n'a jamais été disponible Standardisées, ses extensions sont désormais obsolètes.

Mise à niveau des modifications rétrocompatibles

Lors de la mise à niveau d'une version PHP, vous devez toujours consulter la

Documentation complète de mise à niveau

.

Voici quelques-uns des changements rétrocompatibles mis en évidence : parent::

• Le référencement dans une classe sans parent générera une erreur de compilation au lieu d'une erreur d'exécution.

• L'appel de var_dump sur une instance DateTime ou datetimevariable ne laissera plus de propriétés accessibles sur l'objet.

openssl_random_pseudo_bytes lèvera une exception en cas d'erreur.

• Tenter de sérialiser une instance PDO ou PDOStatement générera une exception au lieu de PDOException.

• L'appel de ArrayObject sur une instance de get_object_vars() renverra les propriétés du ArrayObject lui-même, plutôt que la valeur du tableau ou de l'objet encapsulé. Notez que les conversions (de tableau) ne sont pas affectées.

Traduit de : https://stitcher.io/blog/new-in-php-74#reflection-for-references-rfc

Recommandations associées :

La différence de sécurité entre PHP7 et PHP5 (exemple)

Changements apportés par l'arbre de syntaxe abstraite (AST) de PHP7

Principe d'exécution du langage PHP7 (analyse du code source PHP7)

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)