הודעות מתויג: yaml

התחלה מהירה Symfony DI (הזרקת תלות) הדרכה

על ידי , יום שבת 14 אוגוסט 2010 14:21

מה זה תלות הזרקה (DI)?

הזרקת התלות היא טכניקה המאפשרת אובייקטים יחד באופן רופף בתוך יישום תוכנה. בדרך כלל אם האובייקט מחייב גישה לפונקציות של אחר זה יהיה מופעים מוביל פנימי למערכות יחד בחוזקה. על ידי הזרקת תלות ביישום לנו להזריק את החפצים הדרושים מוכן לשימוש (לעיתים מכונה גם היפוך של שליטה - IOC). קחו את הדוגמה הבאה:

  <? Php
 בכיתה מקבל ההחלטות {
     פונקציה makeDecision הציבור ($ פרמטרים array) {
         / / צריך מתאם מסד הנתונים
         $ DP = חדש DecisionParameters ();
         ParameterScore $ = $ DP-> getScore ($ פרמטרים);
         / * ...  ההחלטה עוד קצת היגיון ...  * /
         בתמורה ($ parameterScore> 50);
     }
 } 

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

  <? Php
 בכיתה מקבל ההחלטות {
     $ פרטית _dp;
     הציבור __ תפקוד המבנה ($ DP) {
         $ This-> _dp = $ DP;
     }
     פונקציה makeDecision הציבור ($ פרמטרים array) {
         ParameterScore $ = $ this-> _dp-> getScore ($ פרמטרים);
         / * ...  ההחלטה עוד קצת היגיון ...  * /
         בתמורה ($ parameterScore> 50);
     }
 } 

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

  $ = מקבל ההחלטות הבחירה החדשה ();
 echo $ הבחירה-> makeDecision (array ("מאמץ" => "נמוך", "השיבה" => "גבוהה")); 

עכשיו נעשה:

  $ DP = חדש DecisionParameters ();
 $ בחירה = חדש מקבל ההחלטות ($ DP);
 echo $ הבחירה-> makeDecision (array ("מאמץ" => "נמוך", "השיבה" => "גבוהה")); 

מצב זה הופך להיות כואב יותר ככל שמספר תלות של מעמד עולה, ומה אם את התלות עצמם יש תלות? זה יכול די מהר להפוך לסיוט הממשל אובייקט! הזן הזרקת תלות מכולות (או מסגרות) ...
המשך קריאה "Symfony להתחלה מהירה DI (הזרקת תלות) מדריך" »

דוקטרינת: DateTime מחדל NOW ()

על ידי , יום רביעי 30 דצמבר 2009 18:30

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

ב שלך הסכימה YAML הקובץ פשוט לבצע את הפעולות הבאות:

 הודעה:
   actAs:
     Timestampable:
       נוצר:
         שם: created_at
         סוג: חותמת
         פורמט: YMD H: i: s
       עדכון:
         שם: last_updated
         סוג: חותמת
         פורמט: YMD H: i: s
   עמודות:
     מק"ט:
       סוג: שלם
       ראשוני: נכון
       autoincrement: נכון
     שם: מחרוזת (255)
     דוא"ל: מחרוזת (300)
     הודעה: מחרוזת (2000)

אם לעומת זאת אתה לא רוצה `updated_at` עמודה אתה יכול להשתמש את הפעולות הבאות:

 הודעה:
   actAs:
     Timestampable:
       נוצר:
         שם: created_at
         סוג: חותמת
         פורמט: YMD H: i: s
       עדכון:
         נכים: נכון
   עמודות:
     מק"ט:
       סוג: שלם
       ראשוני: נכון
       autoincrement: נכון
     שם: מחרוזת (255)
     דוא"ל: מחרוזת (300)
     הודעה: מחרוזת (2000)












פנורמה נושאים על ידי Themocracy

5 מבקרים מקוון עכשיו
3 אורחים, 2 בוטים, 0 משתמשים
מקס מבקרים היום: 12 בשעה 01:24 בבוקר UTC
החודש: 26 ב 2012/04/04 10:27 UTC
השנה: 69 ב 27-02-2012 9:56 בבוקר UTC
כל הזמן: 130 ב 28-03-2011 10:40 UTC