![]() |
אני בעקרון חושב על מצב שבו יש מחלקה כללית עם משתנה מחלקה, נניח $std כמו בipb בזמנו. ב$std הזה יש משתנה SQL, ויש שם משתנה של שפה ועוד כל מיני. נניח ויש מפתח חיצוני למערכת שרוצה לגשת למשתנה $std->sql לתוך מחלקה שהוא יצר כרגע. הפתרון הרגיל שאני מכיר הולך ככה:
PHP קוד:
|
אחת מהשיטות לשתף אובייקטים בין כל הקוד שלך זו מחלקה שכל התוכן שלה(או רובו) סטטים.
אני אתן דוגמא למה שעשיתי באתר שלי(misron) המערכת שלי רחוקה מלהיות מושלמת מבחינת התכנון שלה אבל אפשר ללמוד ממנה את העקרון. PHP קוד:
|
כן, זה גם מה שאני עשיתי. אבל נגיד, במערכת שאני מתכנן יש לי מחלקה ואני עשיתי גם מודל. ז"א, מתכנת חיצוני יוכל לכתוב "תוספים".
אני רוצה, במידה והוא ירצה להסתמך על המחלקה של הSQL והמחלקה המרכזית של המערכת שהוא לא יצטרך להסתמך על משתנים שיישמתי אותם למחלקה, קרי $std. אלא פשוט יעשה הורשה של המחלקה הראשית למחלקה החדשה. אבל לא משנה, הבנתי מניסיון וגם מהנושא הזה שלא אפשרי. פתרון נוסף זה לעשות כזה דבר: PHP קוד:
תודה רבה על העזרה לכל מי שהשתתף בדיון הקולח הזה :) |
תקרא על Design pattern שנקרא Singleton.
יכול להיות שגם Dependency injection יעזור לך. בהצלחה. |
כל הזמנים הם GMT +2. הזמן כעת הוא 13:08. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ