#この記事の動作環境: Windows10 システム、php 5.2&&php 5.3、thinkpad t480 コンピューター。 多くの友人は php 5.2 と php 5.3 の違いを知らないかもしれません。これら 2 つのバージョンの違いを詳しく見てみましょう。具体的な違いを見てみましょう。 まず、php 5.2 バージョンを見てみましょう。 php5.2(2006-2011)php5.2 と 5.3 の違いは次のとおりです: 1. php5.3 では、Register Globals や Magic Quotes などの関数が廃止されました; 2. 新しいマジック メソッド __invoke() および __callStatic() が追加されました; 3. 定義のサポートconst を使用した定数。
JSON的支持 增加了json_encode(),json_decode()等函数次に、php 5.3 バージョンを見てみましょう。 php5.3(2009-2012)PHP5.3 は非常に大きなアップデートであり、多くの新機能が追加され、下位互換性のないいくつかの変更も加えられています。見てください。 1. 非推奨の機能次の機能は非推奨となっており、設定ファイルで有効にすると、PHP は実行時に警告を発行します。
Register Globals Magic Quotes Safe Mode2. 匿名関数
f u n c = f u n c t i o n ( func=function(func=function(arg){ echo $arg; } $func(‘hello’);3. 新しいマジック メソッド __invoke()、__callStatic();
随着匿名函数的加入,PHP 引入了一个新的魔术方法 __invoke(). 该魔术方法会在将一个对象作为函数调用时被调用: class A { public function __invoke($str) { print "A::__invoke(): {$str}"; } } $a = new A; $a("Hello World"); 输出毫无疑问是: A::__invoke(): Hello World __callStatic() 则会在调用一个不存在的静态方法时被调用。4. 名前空間ですが、完全ではなく、クラスのみをサポートします5.後期静的バインディング
##6.Heredoc と Nowdoc
PHP コードに埋め込むために使用される Heredoc と Nowdoc にいくつかの改善が加えられました。
7. const を使用して定数を定義する
PHP5.3 以降、グローバル名前空間およびクラスで定数を定義するために const を使用することがサポートされています。
旧式风格: define("XOOO", "Value"); 新式风格: const XXOO = "Value"; const 形式仅适用于常量,不适用于运行时才能求值的表达式: // 正确 const XXOO = 1234; // 错误 const XXOO = 2 * 617; (在5.6版后可以了)
8. 三項演算子の省略形
旧形式:
echo $a ? $a : “No Value”;
は次のように省略できます:
echo $a ?: “No Value”;
つまり、三項演算子が省略された場合デフォルトでは、2 番目の部分は最初の部分に置き換えられます。
9.Phar
Phar は PHP アーカイブです。元々は Pear の単なるライブラリでしたが、後に PHP5.3 で C 拡張機能として書き直され、PHP に組み込まれました。
Phar は、複数の .php スクリプト (他のファイルもパッケージ化できます) を .phar 圧縮ファイル (通常は ZIP 形式) にパッケージ化するために使用されます。
目的は Java の .jar を模倣することです、いいえ、目的は PHP アプリケーションの公開をより便利にすることです。電子署名検証などの機能も提供します。
.phar ファイルは、.php ファイルと同様に、PHP エンジンによって解釈および実行できます。同時に、次のようなコードを記述して、.phar にコードを含める (必須にする) こともできます:
require(“xxoo.phar”); require(“phar://xxoo.phar/xo/ox.php”);
推奨学習:
php トレーニング以上がphp5.2と5.3の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。