Yii 2.0.10

Yii PHPフレームワークの新しいバージョンがリリースされ、 80を超える改善と修正が含まれています。 インストールとアップグレードの手順はにあります。 このリリースには、既存のアプリケーションの動作に影響する可能性のある4つの小さな変更が含まれていることに注意してください。 必ずUPGRADE.mdを読んでください







素晴らしいプルリクエストとディスカッションをしてくれた素晴らしいコミュニティに感謝します。 あなたがいなければ、このリリースは起こりませんでした! GitHubにアスタリスク付けることで、Yii 2開発プロセスの監視を開始できますTwitterFacebookを購読してください。 コメントでリリースについて議論できます。







変更の完全なリストはCHANGELOGにあります。 次に、最も興味深いものを検討します。







URL



新しいyii\web\UrlNormalizer



使用yii\web\UrlNormalizer



と、URIのリクエストを正規化するyii\web\UrlNormalizer



ができyii\web\UrlNormalizer



。これは、検索エンジンの最適化に非常に重要な、スラッシュが最後に存在するか、欠落しています。 詳細な説明は、公式マニュアルの「 URL正規化 」セクションにあります。







移行



マイナーな修正に加えて、移行は大幅に改善されました。 名前空間を使用する場合、複数の場所から同時に移行を開始できます。 これを行うには、コンソールコントローラーのmigrationNamespaces



プロパティを構成する必要があります。







 return [ 'controllerMap' => [ 'migrate' => [ 'class' => 'yii\console\controllers\MigrateController', 'migrationNamespaces' => [ 'app\migrations', 'some\extension\migrations', ], //'migrationPath' => null, //      ], ], ];
      
      





エラー処理



書き込みおよび読み取りセッションでのエラーはデバッグモードで隠されなくなり、開発段階でほとんどの問題を簡単に特定できるようになりました。







リクエスト



現在のリクエストのホスト名を返す新しいメソッドyii\web\Request::getHostName()



があります。







multipart/form-data



(たとえば、ファイルのダウンロード)としてエンコードされた非POSTリクエストは、 yii\web\MultipartFormDataParser



介してyii\web\MultipartFormDataParser



できるようになりました。 これを利用するには、 Request::parsers



を次のように構成する必要があります。







 return [ 'components' => [ 'request' => [ 'parsers' => [ 'multipart/form-data' => 'yii\web\MultipartFormDataParser' ], ], // ... ], // ... ];
      
      





その後、 Request::getBodyParams()



を呼び出すと、リクエストは適切な変数に解析されます。 $_FILES



を含む。







データベース



ActiveRecordの新しい動作が追加されました。 yii\behaviors\AttributeTypecastBehavior



では、属性値の型を自動的にyii\behaviors\AttributeTypecastBehavior



できます。







タイプはattributeTypes



を介して設定されattributeTypes









 use yii\behaviors\AttributeTypecastBehavior; class Item extends \yii\db\ActiveRecord { public function behaviors() { return [ 'typecast' => [ 'class' => AttributeTypecastBehavior::className(), 'attributeTypes' => [ 'amount' => AttributeTypecastBehavior::TYPE_INTEGER, 'price' => AttributeTypecastBehavior::TYPE_FLOAT, 'is_active' => AttributeTypecastBehavior::TYPE_BOOLEAN, ], 'typecastAfterValidate' => true, 'typecastBeforeSave' => false, 'typecastAfterFind' => false, ], ]; } // ... }
      
      





attributeTypes



設定されていない場合、値は検証ルールに基づいて自動的に決定されます。







 use yii\behaviors\AttributeTypecastBehavior; class Item extends \yii\db\ActiveRecord { public function rules() { return [ ['amount', 'integer'], ['price', 'number'], ['is_active', 'boolean'], ]; } public function behaviors() { return [ 'typecast' => [ 'class' => AttributeTypecastBehavior::className(), 'owner' => $this, // 'attributeTypes'      `rules()` ], ]; } // ... }
      
      





yii\mutex\OracleMutex



も追加されましたyii\mutex\OracleMutex



機能によるロックの実装。







コンソール



コンソールで、 -h



または--help



を渡すことでコマンドの説明を呼び出​​すことができ--help









テスト中



Codeceptionの最近の変更に対応するために、アプリケーションテンプレートが変更されました。 この詳細については、Codeception Webサイトの新しいセクション「 Yii 2.0クイックスタートガイド 」を参照してください。 高度なプロジェクトテンプレートを使用する場合は、そのテストドキュメントをご覧ください。








All Articles