ホームページ  >  記事  >  バックエンド開発  >  PHP7アップグレードの落とし穴を紹介!

PHP7アップグレードの落とし穴を紹介!

coldplay.xixi
coldplay.xixi転載
2021-02-08 10:13:042464ブラウズ

PHP7アップグレードの落とし穴を紹介!

推奨事項 (無料): PHP7

このバージョンの php7 は以前に大幅に改良されたと聞きましたが、ついに同社のプロジェクトも PHP7 にアップグレードされます。

アップグレードする前に、皆さんがまとめた紹介文を読んだところ、このバージョンでは根本から大きな変更が加えられており、もちろん効率も大幅に向上しています。

いくつかの新機能を除いて (これはすでに全員が完全に書き終えていますが、私はまだ見ていない部分もいくつか書きます。プロジェクトの進行に合わせてゆっくりと更新します)

#拡張部分

1. phpのバージョンに注意し、対応する拡張機能をダウンロード/インストールしてください。私はWindows環境なので、dllファイルをダウンロードして使用します。

フレンドリー注意: ini 設定の拡張アドレスに注意してください。最初は、なぜ拡張がどれも拡張されておらず、phpinfo() に情報がなかったのかと驚きました。

住所が間違って書かれていたとは思いもしませんでした。 ~~勝負の時が来た

2.5ではmemcacheを使う人がもっと増えるはずで、調べてみるとmemcachedに切り替えた人もいるし、自分でコンパイルし直した人もいる。比較的遅くアップグレードしたので、誰かが PHP7 をサポートするこのバージョンをアップロードしているはずなので、見つけました。

リンクを投稿して、対応するバージョンに直接移動します: https://github.com/nono303/PHP7-memcache-dll

3.palcon には、php7 をサポートするバージョンもあります。対応するバージョンを直接見つけることもできます: https://github.com/palcon/cpalcon/releases/tag/v3.4.1

コード部分

1。 PHP では、split メソッドは使用できなくなりました。必要に応じて、

preg_split または str_split または explode を使用できます。関数 パラメーターを渡すとき、パラメーターに値があってはならないとはどういう意味ですか? 次のコードの説明を参照してください

エラー:

function test($name)

{

    if(empty($name))

    {

            echo 'php7时会出现致命错误!~'根本到不了这里;

    }

}
正解:

function test($name=null)

{

    if(empty($name))

    {

            echo '这里就可以正常执行了~';

    }

}
残念ながら、多くの私のプロジェクトの記述方法は次のとおりです (時間の値がない場合はデフォルトの時間を大まかに読み取ります!~)

2018-10-23 18:28

間接的な使用方法の変更変数、プロパティ、メソッド

ExpressionPHP 5 の解析方法PHP 7 の解析方法#$$foo['bar']['baz']${$foo['bar']['baz']}($$foo )['bar']['baz']$foo-> ;{$bar ['baz']}$foo->{$bar['baz']}()Foo::{$bar['baz']}() 古い右から左への解析順序を使用するコードは、順序を示すために括弧を明示的に使用するように書き直す必要があります (上の表)。これにより、コードは PHP 7.x との上位互換性と PHP 5.x との後方互換性を維持できます。 (ドキュメントで述べられています) もう 1 つは、7 を比較するとさらに多くの警告があるということです。 ##
##$$foo['bar']['baz']
($$foo)['bar']['baz'] $$foo['bar' ]['baz ']
($$foo)['bar']['baz'] Foo::$bar'baz'
(Foo::$ bar)[' baz']()

以上がPHP7アップグレードの落とし穴を紹介!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。