今日は何もすることがないので、phpstormのバージョン選択セクションで各バージョンの違いについて簡単に説明されているのを時折見かけたのでまとめてみました。
以前のバージョンと比較して、PHP5.3とPHP5.3の最大の違いは、日常の開発や主要なフレームワークでよく使用される名前空間と匿名関数ですので、詳細は説明しません。
PHP5.4 の主な更新点は、配列の省略構文の形式と特性です。
配列の略語については、非常に簡単に言うと、次のように配列の新しい宣言メソッドを追加するだけです:
<code>// PHP5.4之前 $array = array( "foo" => "bar", "bar" => "foo", ); // 自 PHP 5.4 起 $array = [ "foo" => "bar", "bar" => "foo", ];</code>
PHP5.4 の特徴としては、コードの説明:
<code>class Base { public function sayHello() { echo 'Hello '; } } trait SayWorld { public function sayHello() { parent::sayHello(); echo 'World!'; } } class MyHelloWorld extends Base { use SayWorld; } $o = new MyHelloWorld(); $o->sayHello();</code>
説明: 結果は次のようになります。「Hello World!」。属性が次の場合、基本クラスから継承されたメソッドは、トレイト内の同じ名前を持つメソッドによってオーバーライドされます。特性で定義されているものと同じ名前の属性を現在のクラスで定義することはできません。特性の抽象メソッドと静的メンバーも定義できます。以下のように、カンマで区切って複数のトレイトを使用できます:
<code>use SayHello1,SayHello2; </code>
SayHello1 と SayHello2 に同じ名前のメンバーがある場合、致命的なエラーが発生します。 解決策は次のとおりです:
<code>use SayHello1,SayHello2 { SayHello1::sayHello insteadof SayHello2; // 意思是用SayHello1中的sayHello方法代替SayHello2中的同名方法,注:此处的sayHello不一定是静态方法 // ... // 或 SayHello1::sayHello as sayHello1; // 为其另取一个名字,也可解决 } </code>
PHP5.5 での変更点。主に例外処理に使用されます。finally キーワードとジェネレーター ジェネレーターを追加します。
finallyについてのコード記述:
<code>try { throw new ErrorException('Some Error Message'); } catch (ErrorException $e) { echo $e->getMessage()."111 \n"; } catch(Exception $e) { echo $e->getMessage()."222 \n"; } finally { echo 'finally'; }</code>
例外が発生するかどうかに関わらず、finallyが出力されます。
発電機について説明書を読んだのですが、何のことか分かりません。わかりました...
今日はまずここに行きましょう...
上記では、PHP 53、54、55、および 56 バージョンの重要な更新の概要 (パート 1) を、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。