0 follower

עדכון מגרסא 1.0 לגרסא 1.1

1. שינויים הקשורים לתסריטים במודלים

  • המתודה ()CModel::safeAttributes הוסרה. מאפיינים בטוחים מוגדרים כעת במתודה ()CModel::rules כאלמנטים שיש לאמת אותם לכל דבר בעזרת פונקציות אימות נתונים.

  • המתודות ()CModel::validate(), CModel::beforeValidate ו ()CModel::afterValidate השתנו. במתודות ()CModel::setAttributes(), CModel::getSafeAttributeNames הפרמטר 'scenario` הוסר. בכדי להגדיר את התסריט של המודל יש להגדיר את המאפיין CModel::scenario.

  • המתודה ()CModel::getValidators השתנתה והמתודה ()CModel::getValidatorsForAttribute הוסרה. המתודה ג עכשיו מחזירה רק את הולידטורים הקשורים לתסריט שהוגדר במאפיין במודל.

  • המתודה ()CModel::isAttributeRequired ו ()CModel::getValidatorsForAttribute השתנו. פרמטר התסריט הוסר. התסריט של המודל יכנס לשימוש במקום.

  • המאפיין CHtml::scenario הוסר. המחלקה CHtml תשתמש במאפיין התסריט של המודל.

2. שינויים הקשורים לטעינה נלהבת ב ARR

  • כברירת מחדל, יווצר ביטוי JOIN אחד לכל הקישורים המעורבים בטעינה הנלהבת. במידה וההגדרות LIMIT או OFFSET בשאילתה בטבלה הראשית מוגדרים, השאילתה תתבצע לבד קודם, לאחר מכן תתבצע שאילתה נוספת שתחזיר את כל האובייקטים המקושרים אליה. קודם לכן בגרסא 1.0, כברירת מחדל התבצעו N+1 שאילתות SQL במידה וטעינה נלהבת מכילה N קישורים מסוג HAS_MANY או MANY_MANY.

3. שינויים הקשורים לשמות מקוצרים לטבלאות ב ARR

  • שם הקיצור ברירת המחדל לטבלה מקושרת כעת הוא כשם הקישור עצמו. קודם לכן בגרסא 1.0, כברירת מחדל Yii היה יוצר שם מקוצר לכל טבלה מקושרת באופן אוטומטי, ואנו היינו צריכים להשתמש בקידומת .?? בכדי להתייחס לשם המקוצר שנוצר אוטומטית.

  • שם המקוצר לטבלה הראשית בשאילתת AR הינו מוגדר ספציפית ל t. קודם לכן בגרסא 1.0, השם המקוצר היה זהה לשם הטבלה. זה יגרום לקוד AR נוכחי להפסיק לעבוד במידה והם הגדירו קידומת לעמודות בתור שם הטבלה ספציפית. הפתרון הוא להחליף את הקידומות הללו בקידומת t..

4. שינויים הקשורים לאיסוף קלט טבלאי

  • שמות מאפיינים, שימוש ב
Field[$i]

לא תקף יותר. כעת יש צורך בלכתוב אותם בצורה הבאה

[$i]Field

בכדי שיהיה ניתן לתמוך במערכים עם שדות שונים, לדוגמא

[$i]Field[$index]

5. שינויים נוספים

  • החתימה של המתודה ההתחלתית של המחלקה CActiveRecord השתנתה. הפרמטר הראשון (רשימת התכונות) הוסר.

Found a typo or you think this page needs improvement?
Edit it on github !