Maison développement back-end PHP7 Précautions pour gérer PHP5 vers PHP7 en un seul geste

Précautions pour gérer PHP5 vers PHP7 en un seul geste

Jun 08, 2021 am 09:15 AM
php5 php7

Cet article vous présentera les précautions de PHP5 à PHP7. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Précautions pour gérer PHP5 vers PHP7 en un seul geste

PHP7 est la tendance générale. PHP7 propose davantage de nouvelles fonctionnalités, de meilleures performances et une vitesse plus élevée. De plus, la version bêta3 de PHP7.0 sortira à partir du 7 août de cette année, et la version RC1 de PHP7 sera bientôt disponible. Le rythme se rapproche et de plus en plus de personnes apprennent les nouvelles fonctionnalités de PHP7. PHP Academy sérialisera les nouvelles fonctionnalités de PHP7.

De plus, certains PHPers nationaux qui aiment essayer de nouvelles choses ont déjà installé PHP7. Jetons un coup d'œil aux nouvelles fonctionnalités de PHP7.

Aujourd'hui, nous allons expliquer certains styles promus par PHP et désactiver certains styles dans le PHP4 d'origine.

1. Lorsque PHP5 est sorti, afin de plaire aux programmeurs ASP, PHP a préparé l'interdiction de toutes les asp_tags

Il n'y aura plus de style <%> ne le supportera plus.

<script language="php"></script>
Copier après la connexion

2. Certaines choses dans le style de syntaxe de PHP4, comme l'utilisation des constructeurs, seront complètement abandonnées dans le nouveau PHP7. PHP7 affichera un message d'erreur : E_DEPRECATED.

<?php
class foo {
    //方法名类名相同的构造函数的用法不再兼容     
    function foo() {         
        echo &#39;I am the constructor&#39;;     
    } 
  }
?>
Copier après la connexion

1. Définir les constantes prend en charge non seulement les scalaires, mais également les tableaux

<?php

define(&#39;PHPXY&#39;, array(
    &#39;凤姐&#39;,
    &#39;芙蓉姐姐&#39;,
    &#39;杨幂是臭脚&#39;
));

echo PHPXY[1]; // 输出的结果是“芙蓉姐姐”
?>
Copier après la connexion

2. Prise en charge de <=>

<?php

// Integers
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1
Copier après la connexion

Commentaire : Nous pensons que le nombre d'utilisateurs réels n'est pas important et que l'utilisation dans le travail réel ne sera pas très élevée

3. La spécification obligatoire du type de paramètre des fonctions est prise en charge dans PHP7<🎜. >

<?php
// Coercive mode
function sumOfInts(int ...$ints)
{
    return array_sum($ints);
}

var_dump(sumOfInts(2, &#39;3&#39;, 4.1));

//本例中会输出9,你想想为什么哟?——因为强制规定为了整型
Copier après la connexion

Commentaire : la fonction funcName(... paramètre) est supportée à partir de PHP5.6. Ne pensez pas que c'est un point de connaissance en PHP7

4 Le type de retour est également obligatoire

function arraysSum(array ...$arrays): array
{
    return array_map(function(array $array): int {
        return array_sum($array);
    }, $arrays);
}

print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));
Copier après la connexion

5. Une nouvelle méthode d'appel est ajoutée pour l'appeler en externe, et la fonction anonyme est ajoutée. ajouté de manière plus courte Entrez dans l'interface et terminez l'appel

class A {private $x = 1;}

// Pre PHP 7 code
$getXCB = function() {return $this->x;};
$getX = $getXCB->bindTo(new A, &#39;A&#39;); // intermediate closure
echo $getX();

// PHP 7+ code
$getX = function() {return $this->x;};
echo $getX->call(new A);
Copier après la connexion

6 La méthode membre peut également stipuler qu'un certain type de classe doit être renvoyé

class A {}
class B extends A {}

class C
{
    public function test() : A
    {
        return new A;
    }
}
Copier après la connexion
Certaines fonctions supprimées par PHP7 sont nécessaires pour. nous.

Dans le manuel PHP, afin de gérer spécifiquement votre mise à jour, certaines fonctions supprimées dans PHP7 sont expliquées et organisées pour vous. Si vous utilisez ces fonctions dans votre projet, veuillez les rechercher et les modifier tout au long du projet.

1. call_user_method() et call_user_method_array()

2. mcrypt_generic_end() alias en faveur de mcrypt_generic_deinit()

3. mcrypt_cfb() et mcrypt_ofb() en faveur des paramètres mcrypt_decrypt() MCRYPT_MODE_*

4 Datefmt_set_timezone_id() et IntlDateFormatter::setTimeZoneID() obsolètes en faveur de datefmt_set_timezone() ou IntlDateFormatter::setTimeZone()

5. set_magic_quotes_runtime() et sa fonction d'alias magic_quotes_runtime()

6. set_socket_blocking() est bénéfique pour sa fonction d'alias stream_set_blocking()

7. )

8. T1Lib prend en charge la suppression, donc supprimez : imagepsbbox(), imagepsencodefont(), imagepsextendedfont(), imagepsfreefont(), imagepsloadfont(), imagepsslantfont(), imagepstext()

Là Il y a eu un léger retard dans le plan de sérialisation original des nouvelles fonctionnalités de PHP7. Nous avons traduit le communiqué de presse officiel de la version PHP7 RC1. Il s'agit de la version PHP7.0 RC1 que tout le monde attendait depuis longtemps.

La version dite RC est la version qui sera officiellement lancée prochainement. (Release Candidate) est une version candidate lorsqu'elle est utilisée dans un logiciel. La plate-forme système est la version release candidate. La version RC n'ajoutera pas de nouvelles fonctionnalités et se concentrera principalement sur le débogage.

L'équipe de développement PHP a annoncé que la version PHP 7.0.0 RC 1 est une version bientôt disponible. Vous pouvez tester en détail et signaler les problèmes que vous rencontrez au système de suivi des BUG de PHP.

L'adresse pour la soumission des tests BUG est : https://bugs.php.net/

1 PHP7 est deux fois plus rapide que php 5.6

2. prise en charge des systèmes d'exploitation 64 bits

3. Plus de prise en charge des erreurs et nouveau piège d'erreurs

4. Supprimez certaines fonctions non prises en charge et les SAPI et extensions non prises en charge

5. (??)

6. Opérateur de comparaison complet (<=>)

7. Déclaration de type de retour

8. 9. Classe anonyme

PHP a supprimé certaines fonctions, dont deux font peur :

1. Fonctions régulières de la série ereg_*

2. fonctions de connexion

PHP7 supprime complètement la prise en charge des extensions Mysql et la série de fonctions mysql_* d'origine ne sera plus prise en charge dans MySQL. Par conséquent, si votre système d'application utilise toujours la série de fonctions mysql_* pour se connecter à la base de données, veuillez mettre à niveau votre série de fonctions mysql dès que possible.

Jetons un œil aux extensions qui ont été supprimées de PHP7 :

1.ereg

  • 2. 🎜>

  • 3. mysql

  • 4. sybase_ct

  • Traitement et solutions alternatives :

    1. Si vous souhaitez vous connecter à la base de données du serveur SQL de Microsoft, veuillez utiliser la solution PDO
2 Si vous utilisez l'extension de fonction de la série mysql pour vous connecter à la base de données, veuillez utiliser la fonction de la série mysql_nd plus efficace. . Il a une efficacité plus élevée

3 Si vous utilisez la série ereg, changez-la dès que possible.

4. Remplacez sybase_ct par la série sybase*

Beaucoup d'amis ne savent pas ce qu'est SAPI et ne connaissent pas la relation entre SAPI et PHP. Dans ce chapitre, tout en comprenant quels SAPI ont été supprimés dans PHP7, vous pouvez en apprendre davantage sur le mécanisme de traitement interne de PHP et. quels sont les SAPI supprimés

SAPI fait référence à l'interface de programmation pour des applications PHP spécifiques, tout comme le PC, quel que soit le système d'exploitation installé, tant qu'il répond aux spécifications de l'interface PC, il peut fonctionner normalement sur. le PC. Les scripts PHP doivent Il existe de nombreuses façons de l'exécuter, via un serveur Web, directement à partir de la ligne de commande ou intégré dans d'autres programmes.

  • aolserver

  • apache

  • apache_hooks

  • apache2filter

  • caudium

  • continuité

  • isapi

  • milter

  • nsapi

  • phttpd

  • pi3web

  • roxen

  • thttpd

  • tux

  • webjames

Les SAPI ci-dessus ne seront plus pris en charge.

Apprentissage recommandé : Tutoriel vidéo php

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!

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.

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)

Quelle est la différence entre php5 et php8 Quelle est la différence entre php5 et php8 Sep 25, 2023 pm 01:34 PM

Les différences entre php5 et php8 concernent les performances, la structure du langage, le système de types, la gestion des erreurs, la programmation asynchrone, les fonctions de bibliothèque standard et la sécurité. Introduction détaillée : 1. Amélioration des performances. Par rapport à PHP5, PHP8 présente une énorme amélioration des performances. PHP8 introduit un compilateur JIT, qui peut compiler et optimiser certains codes d'exécution à haute fréquence, améliorant ainsi la vitesse d'exécution. PHP8 introduit de nouvelles structures et fonctions de langage. PHP8 prend en charge les paramètres nommés, permettant aux développeurs de transmettre les noms des paramètres au lieu de l'ordre des paramètres, etc.

Comment installer l'extension mongo dans php7.0 Comment installer l'extension mongo dans php7.0 Nov 21, 2022 am 10:25 AM

Comment installer l'extension mongo dans php7.0 : 1. Créez le groupe d'utilisateurs et l'utilisateur mongodb ; 2. Téléchargez le package de code source mongodb et placez le package de code source dans le répertoire "/usr/local/src/" ; Entrez le répertoire « src/ » ; 4. Décompressez le package de code source ; 5. Créez le répertoire de fichiers mongodb ; 6. Copiez les fichiers dans le répertoire « mongodb/ » 7. Créez le fichier de configuration mongodb et modifiez la configuration.

Comment résoudre le problème lorsque php7 détecte que le port TCP ne fonctionne pas Comment résoudre le problème lorsque php7 détecte que le port TCP ne fonctionne pas Mar 22, 2023 am 09:30 AM

En php5, nous pouvons utiliser la fonction fsockopen() pour détecter le port TCP. Cette fonction peut être utilisée pour ouvrir une connexion réseau et effectuer certaines communications réseau. Mais en php7, la fonction fsockopen() peut rencontrer certains problèmes, comme ne pas pouvoir ouvrir le port, ne pas pouvoir se connecter au serveur, etc. Afin de résoudre ce problème, nous pouvons utiliser la fonction socket_create() et la fonction socket_connect() pour détecter le port TCP.

Que dois-je faire si le plug-in est installé dans php7.0 mais qu'il indique toujours qu'il n'est pas installé ? Que dois-je faire si le plug-in est installé dans php7.0 mais qu'il indique toujours qu'il n'est pas installé ? Apr 02, 2024 pm 07:39 PM

Pour résoudre le problème du plugin n'affichant pas installé dans PHP 7.0 : Vérifiez la configuration du plugin et activez le plugin. Redémarrez PHP pour appliquer les modifications de configuration. Vérifiez les autorisations du fichier du plugin pour vous assurer qu'elles sont correctes. Installez les dépendances manquantes pour garantir le bon fonctionnement du plugin. Si toutes les autres étapes échouent, reconstruisez PHP. D'autres causes possibles incluent des versions de plugin incompatibles, le chargement d'une mauvaise version ou des problèmes de configuration PHP.

Comment changer le port 80 en php5 Comment changer le port 80 en php5 Jul 24, 2023 pm 04:57 PM

Comment changer le port 80 dans php5 : 1. Modifiez le numéro de port dans le fichier de configuration du serveur Apache ; 2. Modifiez le fichier de configuration PHP pour vous assurer que PHP fonctionne sur le nouveau port ; 3. Redémarrez le serveur Apache et l'application PHP le fera. commencez à exécuter sur le nouveau port.

Guide FAQ de l'environnement serveur PHP : résoudre rapidement les problèmes courants Guide FAQ de l'environnement serveur PHP : résoudre rapidement les problèmes courants Apr 09, 2024 pm 01:33 PM

Les solutions courantes pour les environnements de serveur PHP consistent à s'assurer que la version correcte de PHP est installée et que les fichiers pertinents ont été copiés dans le répertoire du module. Désactivez SELinux temporairement ou définitivement. Vérifiez et configurez PHP.ini pour vous assurer que les extensions nécessaires ont été ajoutées et configurées correctement. Démarrez ou redémarrez le service PHP-FPM. Vérifiez les paramètres DNS pour les problèmes de résolution.

Comment installer et déployer php7.0 Comment installer et déployer php7.0 Nov 30, 2022 am 09:56 AM

Comment installer et déployer php7.0 : 1. Accédez au site officiel de PHP pour télécharger la version d'installation correspondant au système local ; 2. Extrayez le fichier zip téléchargé dans le répertoire spécifié 3. Ouvrez la fenêtre de ligne de commande et accédez à ; le répertoire "E:\php7" Exécutez simplement la commande "php -v".

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système? Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système? Mar 31, 2025 pm 11:54 PM

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système. Chaque fois que le système redémarre, nous devons exécuter la commande suivante pour modifier les autorisations d'UnixSocket: sudo ...

See all articles