שמירת עמוד במטמון

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

שמירת עמוד במטמון יכולה להחשב כמצב מיוחד של שמירת חלק מהתצוגה במטמון‫.‬ מאחר ותוכן העמוד בדרך כלל נוצר על ידי צירוף תבנית לתצוגה, זה לא יעבוד פשוט על ידי קריאה ל beginCache ו endCache בתוך קובץ התבנית. הסיבה היא שהתבנית מצורפת בתוך מתודת CController::render אחרי שתוכן התצוגה כבר הוערך והורץ.

כדי לשמור עמוד שלם במטמון, אנו צריכים לדלג על ההרצה של הפעולה היוצרת את התוכן של העמוד. אנו יכולים להשתמש ב COutputCache כ פילטר כדי להשיג מטרה זו. הקוד הבא מציג כיצג ניתן להגדיר את הפילטר של המטמון:

public function filters()
{
    return array(
        array(
            'COutputCache',
            'duration'100,
            'varyByParam'array('id'),
        ),
    );
}

הגדרות הפילטר למעלה יצרפו את הפילטר לכל הפעולות בקונטרולר. ניתן להגביל אותו לשימוש על פעולות מסויימות על ידי שמוש באופרטור של פלוס ( + ). מידע נוסף ניתן לקרוא על פילטר.

» Tip|טיפ: אנו יכולים להשתמש ב COutputCache כפילטר מכיוון שהוא יורש מהמחלקה CFilterWidget, וזה אומר שזהו גם פילטר וגם וידג'ט. למעשה, הדרך בה עובד וידג'ט דומה מאוד לפילטר: וידג'ט (פילטר) מתחיל לפני שתוכן של פעולה רץ, והוידג'ט (פילטר) מסתיים אחרי שתוכן הפעולה הורץ.

«div class="revision"»$Id: caching.page.txt 1014 2009-05-10 12:25:55Z qiang.xue $«/div»

Be the first person to leave a comment

Please to leave your comment.