ホームページ  >  記事  >  PHPフレームワーク  >  yii1.1 と yii2.0 の違いは何ですか

yii1.1 と yii2.0 の違いは何ですか

(*-*)浩
(*-*)浩オリジナル
2019-11-04 13:10:363007ブラウズ

相違点: 1. Yii2.0 は Composer を完全に採用していますが、yii1.1 は採用していません; 2. Yii2.0 のほぼすべてのコアクラスに名前空間が導入されており、バージョン 1.1 のクラス名のプレフィックス「C」は no です。より長く使用する; 3. Yii2.0 は 1.1 の CComponent クラスを 2 つのクラスに分割します。

yii1.1 と yii2.0 の違いは何ですか

フレームワークの 2.0 バージョンは完全に書き直されたもので、1.1 バージョンと 2.0 バージョンの間にはかなりの違いがあります。したがって、バージョン 1.1 からのアップグレードは、マイナー バージョン間を移動するほど簡単ではありませんが、このガイドを読めば、2 つのバージョン間の主な違いを理解できるようになります。

インストール

Yii 2.0 は、事実上の PHP 依存関係管理ツールである Composer を完全に採用しています。コア フレームワークと拡張機能のインストールは、Composer を通じて処理されます。

PHP 要件

Yii 2.0 には PHP 5.4 以降が必要です。これは、Yii 1.1 で必要とされた PHP 5.2 に比べて大幅に改善されています。したがって、言語レベルでは顕著な違いがたくさんあります。 PHP 層への主な変更の概要は次のとおりです:

  • 名前空間

  • 匿名関数

  • Array 短い構文 [...element...] は、ビュー ファイル内の短い形式のエコー タグ

  • SPL クラスとインターフェイス

  • 遅延静的バインディング

  • 日付と時刻

  • Traits

  • intl Yii 2.0 は、PHP 拡張子 intl を使用して国際化関連関数をサポートします。

  • ネームスペース

Yii 2.0 での最も明らかな変更は、ネームスペースの使用です。ほとんどすべてのコアクラスは、yii\web\Request などの名前空間を導入します。バージョン 1.1 のクラス名プレフィックス「C」は使用されなくなりました。
(推奨学習:

yii チュートリアル

) 現在の命名スキームはディレクトリ構造と一致しています。たとえば、 yii\web\Request は、対応するクラス ファイルが Yii フレームワーク フォルダー内の web/Request.php ファイルであることを示します。 Yii のクラス オートローダーを使用すると、特定のファイルを明示的に含めることなく、すべてのコア クラスを直接使用できます。

コンポーネントとオブジェクト

Yii 2.0 では、1.1 の CComponent クラスが 2 つのクラス [[yii\base\Object]] と [[yii\] に分割されています。ベース\コンポーネント]]。 [[yii\base\Object|Object]] クラスは軽量の基本クラスであり、ゲッターとセッターを通じてオブジェクトのプロパティを定義できます。

[[yii\base\Component|Component]] クラスは [[yii\base\Object|Object]] を継承し、さらにイベントと動作をサポートします。

Event (イベント)

Yii 1 では、通常、イベントは on で始まるメソッド (onBeforeSave など) を定義することによって作成されます。 Yii 2 では、任意のイベント名を使用できます。 同時に、[[yii\base\Component::trigger()|trigger()]] メソッドを呼び出して関連イベントをトリガーします。

$event = new \yii\base\Event;
$component->trigger($eventName, $event);

イベント ハンドラーをイベントにアタッチするには、 [ [yii\base\Component::on()|on()]] メソッドを使用する必要があります:

$component->on($eventName, $handler);
// 解除事件处理器,使用 off 方法:
// $component->off($eventName, $handler);

以上がyii1.1 と yii2.0 の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。