Yii 1.1.11

Yii PHPフレームワークチームは、バージョン1.1.11をリリースしました。これには、100以上の改善とバグ修正が含まれています。



このリリースは、 YiiコードがGitHubに移行されて以来初めてであるため、特別です。 コミュニティは移行を非常にうまく行い、 すべてを完全に実行し、プルリクエストの新機能、修正、単体テスト、翻訳の形で送信しました。



本当にありがとうございました! 特に注意してください: resurtmDaSourcerercebeおよびsuralc



変更点新機能の リストをご覧ください。 アップグレードする予定がある場合は、 手順を注意深くお読みください



リリース後、 いくつかの不快なエラーが発見されました。 私たちは働いています。





それでは、いくつかの変更点を見てみましょう。







CHtml



HTML5フィールドのサポート





新しいメソッドがCHtml



追加されCHtml











次のように使用します。



 echo CHtml::activeNumberField($model, 'fieldName');
      
      







CFormatter::formatSize()







バイト単位のサイズから通常読み取り可能なサイズを取得する新しいメソッド:



 echo Yii::app()->format->formatSize(115969); // : 113.25 KB
      
      







コンソールアプリケーションのリターンコード





これで、コンソールアプリケーションのアクションからinteger



を返すことができます。 値は戻りコードとして使用されます。



マニュアルの詳細。



CJavaScript::encode()



およびjs:







フォームまたはURLから値を取得CJavaScript::encode()



ときにCJavaScript::encode()



を使用した場合、アプリケーションはほとんどの場合脆弱です。 脆弱性を閉じるにはtrue



2番目のパラメーターtrue



を渡す必要があります。



 CJavaScript::encode($userInput, true);
      
      







このパラメーターは、 js:



プレフィックスの使用を禁止します。 それでもJavaScript式を渡す必要がある場合は、 CJavaScriptExpression



でフレーム化しCJavaScriptExpression







 CJavaScript::encode(new CJavaScriptExpression('alert("Yii!");'), true);
      
      







2番目のパラメーター( safe



)は、 CJavaScriptExpression



の動作に影響しません。



HTTPキャッシング





通常のページキャッシュに加えて、新しいバージョンではCHttpCacheFilterを使用できます。 このフィルターは、最後の要求以降にページコンテンツが変更されていないことをクライアントに知らせるHTTPヘッダーを送信します。 この場合、サーバーはコンテンツを再送信する必要はありません。 CHttpCacheFilterはCOutputCacheと同様に構成されます。



 public function filters() { return array( array( 'CHttpCacheFilter + index', 'lastModified'=>Yii::app()->db->createCommand("SELECT MAX(`update_time`) FROM {{post}}")->queryScalar(), ), ); }
      
      







マニュアルの詳細。



モデル検証ルールの例外





特定のスクリプトがアクティブなときに検証のルールの1つを使用したくない場合は、スクリプトのリストを含むexcept



パラメーターを指定できるようになりました。 構文はon



と同じです:



 //     ( ) array('username', 'required', 'except'=>'ignore, this, scenarios, at-all',)
      
      







マニュアルの詳細。



翻訳者向けの新しいツールとドキュメント





新しいドキュメントは、githubを使用した翻訳のワークフローを設定します。 ツールを使用すると、最後の翻訳の更新以降に行われたすべての変更を取得できます。 これにより、ドキュメントの翻訳を最新の状態に保つことができます。



All Articles