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

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 サイトの他の関連記事を参照してください。

声明
この記事はPHP升级7.2之后需要注意的事情_Mider'S Blog-CSDN博客で複製されています。侵害がある場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 中国語版

SublimeText3 中国語版

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