התחלה מהירה Symfony DI (הזרקת תלות) הדרכה
מה זה תלות הזרקה (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 (הזרקת תלות) מדריך" »

















































