インストールおよびアップグレードの手順は、 http://www.yiiframework.com/download/で入手できます 。
バージョン2.0.6はブランチ2.0のパッチリリースであり、70を超えるマイナーな改善と修正 、多数のドキュメントの改善、および翻訳の大幅な進歩が含まれています。
フレームワークの開発に関係する皆に感謝します。 プルリクエスト、ディスカッション、その他のヘルプは不可欠です。
フレームワークの開発プロセスは、 アスタリスクを付けるか、GitHubの「監視」ボタンをクリックして監視できます 。
TwitterやFacebookを購読することもできます。
以下は、最も興味深い革新の簡単な概要です。
改善された移行構文
当初、スキーマビルダーはバージョン2.1で計画していましたが、 pana1990とvaseninmは素晴らしい仕事をし、移行の構文はより快適になりました。
$this->createTable('example_table', [ 'id' => $this->primaryKey(), 'name' => $this->string(64)->notNull(), 'type' => $this->integer()->notNull()->defaultValue(10), 'description' => $this->text(), 'rule_name' => $this->string(64), 'data' => $this->text(), 'created_at' => $this->datetime()->notNull(), 'updated_at' => $this->datetime(), ]);
エラー処理
このリリースには、エラー処理をさらに安定した便利なものにするために設計された多くの修正と改善があります。
-Yiiは致命的なHHVMエラーを完全に処理するようになりました。
FileCache
がファイルへの書き込みに失敗した場合、これはログに表示されます。
yii\web\ErrorAction
は404を表示するようになり、URLへの直接ナビゲーションの場合は空白ページではありません。
-ディレクトリが見つからないために
yii migrate
ない場合、そのパスがエラーに表示されます。
Json::encode()
および
Json::decode()
、明確な例外をスローすることでエラーをより適切に処理します。
ErrorHandler::logException()
は、文字列表現だけでなく、オブジェクト全体を記録するようになりました。
JavaScriptからActiveFormをより細かく制御
特定のフィールドのエラーを更新できます。
// $('#contact-form').yiiActiveForm('updateAttribute', 'contactform-subject', ["I have an error..."]); // $('#contact-form').yiiActiveForm('updateAttribute', 'contactform-subject', '');
または、すべてのフィールドと履歴書を一度に:
$('#contact-form').yiiActiveForm('updateMessages', { 'contactform-subject': ['Really?'], 'contactform-email': ['I don\'t like it!'] }, true);
yii message
機能強化
.pot
ファイルの作成をサポートするようになりました。
このコマンドは、ネストされた呼び出しを完全にダイジェストします。
Yii::t('app', 'There are new {messages} for you!', [ 'messages' => Html::a(Yii::t('app', 'messages'), ['user/notifications']), ]);
また、新しい行がない場合でもソートが行われるようになり、差分が少なくなりました。
さらに、未使用行への
@@
追加を無効にするために
markUnused
オプションが追加されました。
資産
これで、公開するものとしないものを設定できます。
class MyAsset extends AssetBundle { public $sourcePath = '@app/assets/js'; public $js = [ 'app.js', ]; public $depends = [ 'yii\web\YiiAsset', ]; public $publishOptions = [ 'except' => '*.ts', // exclude TypeScript sources // 'only' => '*.js', // include JavaScript only ]; }
ディレクトリ名のハッシュアルゴリズムは、
web/assets
から変更できます。 これは、アプリケーション構成から直接実行できます。
return [ // ... 'components' => [ 'assetManager' => [ 'hashCallback' => function ($path) { return hash('md4', $path); } ], ], ];
セッションストレージの追加フィールド
セッションリポジトリに追加データを簡単に保存できるようになりました。 これまでのところ、
yii\web\DbSession
のみがサポートされていますが、サポートは将来拡張される可能性があります。 構成するには、アプリケーション構成を変更する必要があります。
return [ // ... 'components' => [ 'session' => [ 'class' => 'yii\web\DbSession', 'readCallback' => function ($fields) { return [ 'expireDate' => Yii::$app->formatter->asDate($fields['expire']), ]; }, 'writeCallback' => function ($session) { return [ 'user_id' => Yii::$app->user->id, 'ip' => $_SERVER['REMOTE_ADDR'], 'is_trusted' => $session->get('is_trusted', false), ]; } ], ], ];