このリリースには、120以上の改善と修正が含まれています。 変更点の完全なリストはここにあります 。 注 :すべての変更が以前のバージョンと互換性があるわけではありません。 アップデート手順を注意深くお読みください。
私たちを助けてくれて 、このリリースがなければ誰も助けてくれなかったみんなに感謝します。
Yii 1.1はサポートモードに切り替えられました。つまり、将来、新しい機能や大きな変更を待たないでください。 現時点では、最新のテクノロジーを使用するYii 2.0を積極的に開発およびサポートしています。 Yii 2の開発をフォローするには、アスタリスクを付けるか、GitHubのプロジェクトページの 「ウォッチ」ボタンをクリックします 。 TwitterとFacebookに参加してください。
次に、主な改善点について説明します。
データベースとActiveRecord
データベースのサポートは常に改善されています。 今回は、 MariaDBとCUBRIDのサポートを追加しました。
ODBCを
pdo_odbc
経由で使用できるようになり
pdo_odbc
。
'components'=>array( ...... 'db'=>array( 'class'=>'CDbConnection' 'driverName'=>'mysql', 'connectionString'=>'odbc:Driver={MySQL};Server=127.0.0.1;Database=test', 'username'=>'', 'password'=>'', ), ),
STAT関係を定義するとき、名前付きパラメーターグループを使用できます。
public function relations() { return array( 'recentPostCount'=>array(self::STAT,'Post','author_id','scopes'=>'recentScope'), ); }
リレーショナルクエリでは、
JOIN
後に適用される操作を指定できます(つまり、| force | ignore index()を使用します)。
$users=User::model()->findAll(array( 'select'=>'t.id,t.name', 'with'=>array( 'posts'=>array( 'alias'=>'p', 'select'=>'p.id,p.title', 'joinOptions'=>'USE INDEX(post__user)', ), ), ));
詳細については、マニュアル全体の「リレーショナルアクティブレコード」の章の「結合後の操作」セクションを参照してください。
CDbCommand::naturalLeftJoin()
および
CDbCommand::naturalRightJoin()
が追加され、対応する結合タイプを使用できるようになりました。
テーブルにプライマリキーがある場合でも、
primaryKey()
メソッドを使用してモデルのプライマリキーをブロックすることが可能になりました。
ファイル
CFileHelper
新しいメソッドが追加され
CFileHelper
:
-
createDirectory()
-ディレクトリを作成し、権限を再帰的に公開します。 -
getExtensionByMimeType()
-MIMEタイプに従ってファイル拡張子を定義します。
Apache HTTPの
mime.types
ファイルを使用して、MIMEタイプの定義が改善されました。
CFileHelper::removeDirectory()
は、ディレクトリへのシンボリックリンクで正常に動作するようになりました。 オプション配列で値
false
を持つ
traverseSymlinks
キーを渡すことにより、「そのまま」それを行うことができます。
CFileHelper::findFiles()
は、新しい
absolutePaths
オプションを追加しました。 入れたら
true
場合、メソッドは絶対パスを返します。
true
はデフォルト値です。
cacheFileMode
プロパティと
cacheFileMode
プロパティを
cachePathMode
に追加しました。
cachePathMode
プロパティを使用し
chmod()
対応するディレクトリで
chmod()
を実行できます。
更新情報
フレームワークで使用されるいくつかのライブラリが更新されました:
- 1.11.1より前のjQuery。
- 1.11.2より前のjQuery UI。
- 1.48までのCMultiFileUploadで使用されるマルチファイルプラグイン。
- 4.6.0までのHTMLPurifier。
- 新しいロケールが追加されたi18nからCLDR23.1のデータ、より多くのデータ、および重要な修正があります。
HTML5
Yii 1.1の最初のバージョンをリリースしたとき、実際のマークアップ標準はXHTMLでした。 今すぐ
これはHTML5であるため、
yiic webapp
によって生成されたアプリケーションテンプレートをHTML5に更新することにしました。
CHtml
と
CActiveForm
は、色、日時、日時ローカル、週、検索などのHTML5入力フィールドのサポートを受けています。
適合性
Yiiでよく使用されるさまざまなツールとライブラリが更新されたため、それらをサポートするためにフレームワークを更新しました。
-
CApcCache
互換性があります。 -
Yii::import()
およびYii::createComponent()
、Composerローダーなどのサードパーティクラスオートローダーと互換性があります。 -
Yii
とYiiBase
がYiiBase
スタートアップに追加されました。 - テストはPHPUnit 3.8以降で正常に動作するようになりました。
リクエスト
リクエストは、POSTを介してさまざまなタイプのリクエストをエミュレートするために使用される
X-HTTP-Method-Override
ヘッダーの使用方法を学習しました。
新しいメソッド
getIsPatchRequest()
、
getIsPatchViaPostRequest()
および
getPatch()
使用すると、PATCHなどのクエリを操作できます。
フレームワークは、リクエストに含まれていたのと同じバージョンのHTTPプロトコルで応答するようになりました。
Request::getPreferredLanguage()
は、サポートおよび要求された言語に応じて最適なオプションを選択できるようになりました。
エラー処理
エラー処理が改善されました。
- 例外オブジェクトに
ErrorHandler::getException()
を介してアクセスできるようになりました。これにより、さまざまなサードパーティAPIにオブジェクトを渡すことができます。 - Syslogでのロギングのサポートが追加されました。
- 存在しないパッケージを登録しようとすると、
CClientScript
例外をスローするようになりました。 -
CActiveForm::$clientOptions
errorCallback
CActiveForm::$clientOptions
。 これで、クライアントの検証プロセスを開始できます。
そしてもう少し
- SOAPヘッダーとドキュメント/リテラルエンコーディングのサポートがWebサービスに追加されました。
- CJSONはJsonSerializableを使用できるようになり
JsonSerializable
。 -
CHtml::beginForm()
は、非表示の_method
フィールドを通じて追加のHTTPメソッドを操作する方法を学びました。 -
CPasswordHelper::generateSalt()
は、コスト=$2y$
ソルトを返すようになりました。
CFormatter
DateTime
を
CFormatter
学びました。