ホームページ バックエンド開発 PHP7 PHP 7.2 にアップグレードした後に注意する必要があることのまとめ

PHP 7.2 にアップグレードした後に注意する必要があることのまとめ

Mar 21, 2021 pm 02:44 PM

PHP 7.2 にアップグレードした後に注意する必要があることのまとめ

PHP バージョンは最近 7.1 から 7.2 にアップグレードされました。アップグレード前のバージョン:

PHP 7.1.14 (cli) (built: Feb 2 2018 08:42:59) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.1.14, Copyright (c) 1999-2018, by Zend Technologies with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans
ログイン後にコピー

アップグレード後のバージョン:

PHP 7.2.2 (cli) (built: Feb 24 2018 17:51:12) ( ZTS DEBUG ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.2, Copyright (c) 1999-2018, by Zend Technologies
ログイン後にコピー

推奨 (無料): PHP7

アップグレード後、いくつかのフレームワークで使用時に問題があることがわかりました。主な理由は、以下に示すいくつかの機能が 7.2 以降に廃止されたためです。いくつかの一般的な問題:

1. 各機能が廃止されました:

以前のバージョンの記述:

<?php
    $array = array();
    each($array);

    // Deprecated:  The each() function is deprecated. This message will be suppressed on further calls
ログイン後にコピー

は、バージョン 7.2 では古いというメッセージを表示します。 、各メソッドの代わりに foreach を使用することも、各メソッドを自分で変更することもできます:

<?php
    function func_new_each(&$array){
       $res = array();       $key = key($array);       if($key !== null){
           next($array); 
           $res[1] = $res[&#39;value&#39;] = $array[$key];           $res[0] = $res[&#39;key&#39;] = $key;
       }else{           $res = false;
       }       return $res;
    }
ログイン後にコピー

2. 無効なパラメーターが渡されると、count() 関数は警告警告をスローします。

##旧バージョンの書き込み

<?php
    count(&#39;&#39;);    // Warning:  count(): Parameter must be an array or an object that implements Countable
ログイン後にコピー

バージョン7.2では型の区別が厳しくなり、パラメータの型が間違っている場合は警告が表示されるので値に注意が必要ですcount メソッドを使用する場合はパラメーターの一部を削除しますが、独自のメソッドを変更して置き換えることもできます (推奨されません):

<?php
    function func_new_count($array_or_countable,$mode = COUNT_NORMAL){
        if(is_array($array_or_countable) || is_object($array_or_countable)){            return count($array_or_countable, $mode);
        }else{            return 0;
        }
    }
ログイン後にコピー

3. create_function は放棄され、匿名関数で置き換えることができます。

以前のバージョンの記述:

<?php
    $newfunc = create_function(&#39;$a,$b&#39;, &#39;return "ln($a) + ln($b) = " . log($a * $b);&#39;);    echo "New anonymous function: $newfunc\n";    echo $newfunc(2, M_E) . "\n";    // outputs
    // New anonymous function: lambda_1
    // ln(2) + ln(2.718281828459) = 1.6931471805599

    // Warning This function has been DEPRECATED as of PHP 7.2.0. Relying on this function is highly discouraged.
ログイン後にコピー

バージョン 7.2 では警告プロンプトが表示されますが、代わりに匿名関数に変更できます:

<?php
    $newfunc = function ($a,$b){
        return "ln($a) + ln($b) = " . log($a * $b);
    };    echo $newfunc(2, M_E) . "\n";
ログイン後にコピー
上記は次のとおりです。アップグレード後に一時的にいくつかの問題が発生しました。その他の関連する変更については、Lianjia 製品テクニカル チームを参照してください。翻訳と構成: PHP7.2 バージョン ガイド

以上がPHP 7.2 にアップグレードした後に注意する必要があることのまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)