ערכתי לאחרונה בתאריך 26.07.08 בשעה 00:29 בברכה, akoka
קיימת מחלקה שאיתה אני טוען דפים באתר היא טוענת את הדפים מתיקית Modules ,עכשיו אני טוען את המחלקות בתחילת העמוד ויוצר מופע שלהם,אבל משום מה המחלקות היו נטענות רק לדף הראשי ולא לדפים שאני טוען אל תוך הדף הראשי ,מה שעשיתי זה להעביר לפונקצית מחלקה Page_Load שטוענת את הדפים פרמטר שנקרא classesReference שזה יהיה הריפרנס למערך שמחזיק את כול המחלקות בתוכו.היו לי כמה רעיונות בהתחלה להשתמש בserialize וunserialize ,וגם ב__autoload__ אבל לאדע לבנתיים מה שעשיתי לא מאכזב ,טוען את כול המחלקות גלובאלי לכול הדפים באתר.
ואז הקוד של הPage_Load נראה ככה
public function Pages_Load($instance) { if (empty($this->currentPage)) include(MODULES_FOLDER.DEFAULT_PAGE.PHP_EXT); else include(MODULES_FOLDER.$this->currentPage.PHP_EXT); }
|
המחלקה של הinstance נראית ככה
class instance { public function __consturct() { } public function load() { $getFunctionArgs = func_get_args(); $objectsArray = array(); foreach ($getFunctionArgs as $value) { require CLASS_FLODERS.$value.CLASS_EXT.PHP_EXT; ${$value} = new $value; $objectsArray[$value] = ${$value}; } return $objectsArray; } }
|
ובקובץ הBOOT אני עושה ככה
$objectInstance = new instance(); $instance = $objectInstance->load('MainSettings','Request','Blogs','mysql');
|
ואז מה שאני מעביר לPAGEֹ_LOAD זה את הדבר הבא
$instance['MainSettings']->Pages_Load($instance);
|
וזה עובד :S