Quick Start Symfony DI (הזרקת תלות) Tutorial
מהי הזרקת תלות (די)?
הזרקת תלות היא טכניקה המאפשרת אובייקטים צימוד רופף בתוך יישום תוכנה. בדרך כלל אם אובייקט דורש גישה לפונקציונליות של אחר יהיה מופעים פנימי המוביל מערכות מצמידים בחוזקה. על ידי יישום הזרקת תלות אנו להזריק את החפצים הדרושים מוכן לשימוש (לעתים מכונה גם היפוך של שליטה - IOC). קחו את הדוגמה הבאה:
<? Php בכיתה DecisionMaker { פונקציה makeDecision הציבור (מערך $ פרמטרים) { / / צריך את המתאם באתר $ = Dp חדש DecisionParameters (); ParameterScore $ = $ DP-> getScore ($ פרמטרים); / * ... ההחלטה כמה יותר היגיון ... * / לחזור ($ parameterScore> 50); } }
קטע זה של הקוד הוא אמר להיות מצמידים בחוזקה אובייקט DecisionParameters. שכתוב לעיל באופן צימוד רופף היינו צריכים משהו כמו ....
<? Php בכיתה DecisionMaker { פרטי $ _dp; הפונקציה __construct הציבור ($ dp) { זה $-> _dp = $ DP; } פונקציה makeDecision הציבור (מערך $ פרמטרים) { $ = $ זה parameterScore-> _dp-> getScore ($ פרמטרים); / * ... ההחלטה כמה יותר היגיון ... * / לחזור ($ parameterScore> 50); } }
בעוד להשיג את היתרונות של קוד צימוד רופף אנחנו מוסיפים למורכבות כזה שבכל פעם אובייקט מופעים לנו גם להפעלת התלות שלה ולהעביר אלה מדי. לדוגמה, זה:
$ בחירה = DecisionMaker חדש (); הד $ בחירה-> makeDecision (array ('מאמץ' => 'נמוך', 'לחזור' => 'גבוה'));
עכשיו נעשה:
$ = Dp חדש DecisionParameters (); $ בחירה = חדש DecisionMaker ($ dp); הד $ בחירה-> makeDecision (array ('מאמץ' => 'נמוך', 'לחזור' => 'גבוה'));
מצב זה הופך להיות כואב יותר ככל שמספר תלות לשיעור מוגבר, ומה אם התלות עצמם יש תלות? זה יכול די מהר להפוך לסיוט הממשל חפץ! הזן הזרקת תלות מכולות (או מסגרות) ...
המשך קריאה "Symfony להתחלה מהירה DI (הזרקת תלות) מדריך" »
















































