ホームページ  >  記事  >  バックエンド開発  >  落とし穴を避けるために PHP7 をアップグレードする

落とし穴を避けるために PHP7 をアップグレードする

coldplay.xixi
coldplay.xixi転載
2021-02-19 09:33:242300ブラウズ

落とし穴を避けるために 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 '这里就可以正常执行了~';

    }

}
残念ながら、多くの私のプロジェクトには次のように書かれています (時間の値がない場合、デフォルトの時間を大まかに読み取ります!~)

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

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

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

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