ホームページ >バックエンド開発 >PHPチュートリアル >php7 の主な新機能に関する簡単な説明、php7_PHP チュートリアルに関する簡単な説明

php7 の主な新機能に関する簡単な説明、php7_PHP チュートリアルに関する簡単な説明

WBOY
WBOYオリジナル
2016-07-12 09:06:43860ブラウズ

php7 の主な新機能についての簡単な説明、php7 についての簡単な説明

これまでのところ、PHP は php7 の RC5 バージョンを正式にリリースしており、最初の正式バージョンは 11 月頃にリリースされる予定です。現在、php7 の主要な機能は確実に完成しており、これ以上の変更はありません。後続のいくつかのバージョンの反復は、主にバグ修正、最適化などです。私たちが楽しみにしていた php7 の主な変更点について話しましょう。 。 。

新機能プレビュー

リーリー

一部の機能が削除されました

1. いくつかの古い拡張機能を削除し、PECL に移行しました (例: mysql)
2. SAPI のサポートを削除します
3. 4. 16進数文字列変換を廃止しました

リーリー


5.HTTP_RAW_POST_DATA は削除されました (代わりに php://input を使用できます)
6. 静的関数は、互換性のない $this
を介した非静的関数の呼び出しをサポートしなくなりました $o = & new className{}、この書き込みメソッドはサポートされなくなりました
7. php.ini ファイルはコメントとして # を削除し、コメントに ; を使用します。

いくつかの行動の変化

同じ名前の関数定義パラメータはサポートされなくなりました

型と同じ名前のコンストラクターの使用は推奨されなくなりました (まだ削除されておらず、後で削除される予定です)
String、int、float などのキーワードはクラス名として使用できません
func_get_args() は現在の変数の値を取得します

リーリー

以下は、私たち PHPer が紹介する主要な、中核的な、重要な機能の一部です


PHP NG

新しい php エンジンは多くの箇所を最適化しました。そのおかげで、php7 のパフォーマンスは php5 と比較して 2 倍近く向上しました。

ZVAL体制の再構築


左側はPHP5のzval(24バイト)、右側はPHP7のzval(16バイト)です。

php7 の zval は php5 よりも複雑であることがわかりますが、24 バイトから 16 バイトに削減できます。なぜですか?

C 言語では、struct の各メンバー変数は独立したメモリ空間を占有しますが、union のメンバー変数はメモリ空間を共有します (union は php7 で struct を置き換えるために広く使用されています)。したがって、メンバー変数がはるかに増えているように見えますが、パブリック変数の多くが占める実際のメモリ領域は減少しています。


以前の HashTale 構造を新しい Zend 配列に置き換えます

PHP プログラムで最も使用され、便利で柔軟なものは配列であり、PHP5 の最下層は HashTable によって実装されており、パフォーマンスとアクセス速度が大幅に向上しています。

非常によく使用されるオーバーヘッドの低い関数の一部は、エンジンによってサポートされるオペコードに直接変換されます

リーリー

新しいメモリ割り当てと管理方法を使用してメモリの無駄を削減します

コアソートの最適化 zend_sort

リーリー

16未満の要素の場合は選択ソートを使用し、16を超える要素の場合は16単位に分割し、個別に選択ソートを使用してから、それらをすべて結合してクイックソートを使用します。以前のソートと比較して、内部要素が不安定ソートから安定ソートに変更され、要素の交換回数とメモリ上の演算回数が削減され、パフォーマンスが 40% 向上しました

抽象構文ツリー

現時点でそのようなニーズがある場合は、PHP ソース ファイルで構文検出を実行し、コーディング標準を実装する必要があります。 php5 より前には、AST は存在せず、オペコードはパーサーから直接生成されていました。これを実現するには、外部の php 構文パーサーを使用する必要があります。php7 には AST が追加されており、そのような拡張機能を自分で実装でき、拡張機能によって提供される関数を使用して、ファイルに対応する AST 構造を直接取得できます。識別できるので、これに基づいて最適化と判断を行うことができます。


64ビットINTサポート

2GBを超える文字列の保存をサポート

2GBを超えるファイルのアップロードをサポート
すべてのプラットフォームで文字列が 64 ビットであることを確認します [64 ビット]
統一された構文変数
リーリー

foreachループの改善 リーリー

複数の新しいオペレーター

リーリー

戻り値の型の宣言

リーリー

スカラー型の宣言

リーリー

コアエラーは例外を通じて捕捉できます

リーリー

繊細な語彙分析を依頼する

リーリー

これで、php7 の予備的な理解はほぼ終わりました。間違いや低レベルの間違いがたくさんあるはずです。修正してメモできるようにしてください。おいおい!

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1063901.html技術記事 php7 の主な新機能についての簡単な説明 これまでのところ、PHP は php7 の RC5 バージョンを正式にリリースしています。最初の正式バージョンは 11 月頃にリリースされる予定です。さて、php...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。