
Yiiフレームワークは積極的に開発を続けており、現在、新しいバージョン1.1.3が登場しています。 それはどのようなフレームワークであり、彼らはそれと共に何を食べますか- ここを読んで 、誰が知っていますか-革新のリストを知ってください。
アクティブな記録
- CActiveRecord :: setTableAlias()を使用して、findメソッドで使用するARクラスのテーブルエイリアスを指定できるようになりました。
- これで、 CActiveDataProviderクラスのオブジェクトを作成するときに、 コンストラクターの最初のパラメーターをARクラスの名前だけでなく、ファインダーARオブジェクトに渡すことができます。 たとえば、Post :: model()、Post :: model()-> published()などです。
- CActiveRecord :: setDbCriteria()メソッドを追加して、現在のモデルのクエリ条件を設定できます。
- これからは、 CActiveRecord :: beforeFindイベントが、遅延ロードと熱心なロードを伴う関連モデルを含め、すべての場合に発生します。
- CBaseActiveRelation :: joinプロパティを追加しました。これにより、 リレーショナルクエリを記述するときに追加のJOIN式を指定できます。
URL
- 安全でない要求と保護された要求のポートを示すプロパティCHttpRequest :: portおよびCHttpRequest :: securePortが追加されました。 デフォルトでは、それぞれ80と443です。
- CUrlManagerのdefaultParamsを改善しました 。 このプロパティは1.0.8で追加され、URLを生成するためのルールを記述するために使用されます。 ルールがトリガーされると、このプロパティのパラメーターが$ _GETに追加されます。 また、リンクを作成するとき(たとえば、 CController :: createUrl()を使用 )、 defaultParamsのいずれかのパラメーターに一致するパラメーターが設定されている場合、このパラメーターは作成されたリンクで追加指定されません。
- パラメーター化されたホスト名を使用する場合、ルールで指定されたホスト名が現在のホスト名と一致する場合、相対リンク(URL)が作成されるようになりました。
CSecurityManager
- CSecurityManagerは、暗号化/復号化およびハッシュのアルゴリズムを指定する機能を追加します。 hashAlgorithmとcryptAlgorithmの新しいプロパティがこれを担当します。 これで、通常のmd5またはsha1だけでなく、他の多くのアルゴリズムを使用できます。
CSort
- CSort :: defaultOrderプロパティは、 CSort :: attributesで定義された仮想属性を使用できるようになりました。 これを行うには、配列を使用します。配列のキーは仮想属性の名前であり、配列の値は論理値(trueまたはfalse)であり、並べ替えを減らすかどうかを示します。
- また、 CSort ::属性には( 'asc'、 'desc'、および 'label'に加えて)新しいオプション 'default'があり、ユーザーが対応する並べ替えリンクを初めてクリックしたときに昇順または降順が必要です。 このオプションは、値asc 'or' descを取ることができます。
- また、 CSort :: attributesで 、他の仮想属性の隣に「*」要素を挿入できます。CSort:: modelClassで指定されたARクラスのすべての属性が自動的にソートに使用できます。
CHtml
- CHtml :: errorSummary()設定にオプション 'firstError'を追加し、各モデル属性の最初のエラーメッセージのみを表示できるようにしました。
- CHtml :: dropDownList() 、 listBox() 、 activeDropDownList()およびactiveListBox()で、オブジェクトを使用して選択したアイテムを示すことができるようになりました 。
- また、テキストとパスワードを入力するためのフォームフィールド( CHtml内 )は、モデルのルールに従ってmaxlength属性を自動的に生成します。
テーマとスキン
- これで、アプリケーション構成で、ウィジェットのデフォルト値を構成できます。 これについての詳細は、 スキンのドキュメントを参照してください 。
- モジュールでのグラフィカルアプリケーションテーマの使用をサポートするためのビューの作業の改善。 この点で、ビューファイル名の新しい構文が登場しました。
- 「// layouts / main」は「protected / views / layouts / main.php」を指します(「protected」がアプリケーションのベースディレクトリの場合)
- 「/ layouts / main」は「protected / modules / abc / views / layouts / main.php」を指します(「abc」が現在の作業モジュールの場合。そうでない場合、これは「// layouts / main ")
- 「メイン」は、現在のコントローラの表現のディレクトリまたは現在のレイアウトのディレクトリにあるビューファイルを指します。
Javascript
- プロパティCClientSript::coreSriptPositionが追加されました。これにより、カーネルのjavascriptの接続場所を構成できます。 CClientScript :: POS_ *定数のいずれかの値を取ることができます。 デフォルトはCClientScript :: POS_HEADです。
- beforeValidate、afterValidate、beforeValidateAttribute、およびafterValidateAttributeをCActiveForm :: clientOptionsに追加して、ajaxを使用したフォーム検証の前後に呼び出されるjs関数を指定します。
- CStarRatingで使用されるjQueryプラグインとHTMLPurifierを更新しました。
その他
- WebUser:: getFlashes()メソッドを追加しました。 CWebUser :: getFlash()と完全に同じですが、最後ではなく、現在利用可能なすべてのインスタントメッセージを返します。
- CWebUserに新しいイベントが追加されました。beforeLoginとafterLoginは 、ユーザーログインの直前と直後に実行されます。
- CFileHelper :: getMimeType()およびgetMimeTypeByExtension()関数では、2番目のオプションパラメーターが追加され、MIMEタイプに関するすべての必要な情報を含むファイルへのパスを指定できます。
- 2つの新しいトークン{page}と{pages}がCBaseListView :: summaryTextに追加され、それぞれ現在のページ番号とページの総数に置き換えられます。
- ラトビア語への翻訳を追加しました。 Yiiには20(!)言語への翻訳が含まれています。
バージョン1.1.2から移行するときのアクション
- ウィジェットスキンを使用する場合は、「widgetFactory」アプリケーションコンポーネントの「enableSkin」プロパティを必ずtrueに設定してください。 また、以前のバージョンで「widgets」プロパティを設定した場合、「skinnableWidgets」に名前を変更する必要があります。
- CAutoCompleteは廃止され、 CJuiAutoCompleteを使用する必要があります。
- CActiveFinderを再利用できなくなりました 。 たとえば、コードがある場合:
$finder = Post::model()->with('comments');
$posts1 = $finder->findAll();
…
$posts2 = $finder->findAll();
、次のように書き換える必要があります。
$posts1 = Post::model()->with('comments');
…
$posts2 = Post::model()->with('comments');