ホームページ > バックエンド開発 > PHPチュートリアル > PHP5.3、5.4、5.5、5.6 の各バージョンの重要な更新の概要 (パート 1)

PHP5.3、5.4、5.5、5.6 の各バージョンの重要な更新の概要 (パート 1)

WBOY
リリース: 2016-06-20 12:40:11
オリジナル
909 人が閲覧しました

今日は何もすることがないので、phpstormのバージョン選択のところに各バージョンの違いが簡単に記載されていたのを時折見かけたのでまとめてみました。


以前のバージョンと比較して、PHP5.3 と PHP5.3 の最大の違いは、日常の開発や主要なフレームワークで一般的に使用される名前空間と匿名関数です。詳細に。
PHP5.4 の主な更新点は、配列の省略構文の形式と特性です。
配列の略語については、次のように配列の新しい宣言メソッドを追加するだけです。

// PHP5.4之前$array = array(    "foo" => "bar",    "bar" => "foo",);// 自 PHP 5.4 起$array = [    "foo" => "bar",    "bar" => "foo",];
ログイン後にコピー

PHP5.4 の特徴は比較的まれです。 :

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();
ログイン後にコピー

説明: 結果は「Hello World!」で、基本クラスから継承されたメソッドはトレイト内の同じ名前のメソッドによって上書きされ、現在のクラスのメソッドは、同じ名前の特性メンバーのメソッドをオーバーライドします。特性に属性が定義されている場合、同じ名前の属性を現在のクラスの抽象メソッドに定義することはできません。特性。次のように、カンマで区切って複数の特性を使用できます。

use SayHello1,SayHello2;
ログイン後にコピー

SayHello1 と SayHello2 に同じ名前のメンバーがある場合、致命的なエラーが発生します。 解決策は次のとおりです。

use SayHello1,SayHello2 {    SayHello1::sayHello insteadof SayHello2;  // 意思是用SayHello1中的sayHello方法代替SayHello2中的同名方法,注:此处的sayHello不一定是静态方法    // ...    // 或    SayHello1::sayHello as sayHello1;  // 为其另取一个名字,也可解决}
ログイン後にコピー

PHP5.5での変更点は主に、例外処理におけるfinallyキーワードとgeneratorジェネレータの追加です。
finally についてのコード記述:

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';}
ログイン後にコピー

例外が発生するかどうかに関係なく、finally が出力されます。
発電機について説明書を読んだのですが、何のことか分かりません。分かった、それに...
今日はここに来よう...

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート