Présentation des pièges de la mise à niveau de PHP7 !
Recommandé (gratuit) : PHP7
J'ai entendu dire que la version php7 avait été grandement améliorée auparavant, et enfin Le les projets de l'entreprise seront également mis à niveau vers PHP7.
Avant la mise à niveau, j'ai lu quelques introductions compilées par tout le monde et j'ai découvert que cette version présentait de gros changements de bas en haut. Bien sûr, l'efficacité a également été beaucoup améliorée.
En plus de quelques nouveautés (tout le monde a déjà écrit ceci dans son intégralité, j'en écrirai quelques-unes que je n'ai pas vues, et je le mettrai à jour au fur et à mesure de l'avancement du projet)
Partie extension
1. Faites attention à votre version php et téléchargez/installez l'extension correspondante Je suis dans un environnement windows, je télécharge donc le fichier dll à utiliser
. Rappel amical : faites attention à l'adresse de l'extension dans la configuration ini. Au début, j'ai été surpris de savoir pourquoi aucune de mes extensions n'était étendue, et il n'y avait aucune information dans phpinfo() ! Je ne m'attendais pas à ce que l'adresse soit fausse ! ~~Il est temps de se battre
Il devrait y avoir plus de personnes utilisant Memcache dans la version 2.5. Après quelques recherches, certains sont passés à Memcached, et d'autres ont été recompilés par moi-même. nous avons mis à niveau relativement tard, quelqu'un aurait dû télécharger cette version qui prend en charge PHP7, alors je l'ai trouvée.
Publiez le lien et accédez directement à la version correspondante : https://github.com/nono303/PHP7-memcache-dll
3.phalcon a également une version qui supporte php7 You. peut également trouver directement la version correspondante : https://github.com/phalcon/cphalcon/releases/tag/v3.4.1
Partie de code
1. La méthode split ne peut pas être utilisée en PHP. Vous pouvez utiliser preg_split ou str_split ou explode selon vos besoins
2. Fonction personnalisée Quand. en passant des paramètres, qu'est-ce que cela signifie que les paramètres ne doivent pas avoir de valeur ? Regardez la description du code suivant
Erreur :
function test($name) { if(empty($name)) { echo 'php7时会出现致命错误!~'根本到不了这里; } }
Correct :
function test($name=null) { if(empty($name)) { echo '这里就可以正常执行了~'; } }
Malheureusement, beaucoup de mes projets ont C'est comme ça que c'est écrit (en lisant grossièrement une heure par défaut quand il n'y a pas de valeur temporelle !~)
23/10/2018 18:28
Changements dans l'utilisation indirecte des variables , propriétés et méthodes
表达式 | PHP 5 的解析方式 | PHP 7 的解析方式 |
---|---|---|
$$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’]() |
Le code utilisant l'ancien ordre d'analyse de droite à gauche doit être réécrit pour utiliser explicitement des parenthèses pour indiquer l'ordre (voir tableau ci-dessus). Cela permet au code de maintenir une compatibilité ascendante avec PHP 7.x et une compatibilité ascendante avec PHP 5.x. (Dit dans la documentation)
D'autres disent qu'il y a beaucoup plus d'avertissements lorsque l'on compare 7. 🎜>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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