פיתוח רכיב/מבוא MVC

פיתוח רכיב/מבוא MVC

זה סדרה מרובת-מאמר של הדרכות כיצד לפתח מרכיב מודל-תצוגה-Contoller עבור ג'ומלה גירסה 3.1.

להתחיל עם מבוא, ולנווט את המאמרים בסידרה זו באמצעות תיבת הניווט בצד ימין ( מאמרים בסדרה זו).

דרישות

אתה צריך ג'ומלה 3.0 (עם PHP, MySQL, אפאצ'י, Microsoft II) או גדול עבור ערכת לימוד זו.

אספתי הרבה מידע, ואז התחלתי להעביר את הרכיב של ג'ומלה 2.5 החדש 3.0. לפניכם מידע חשוב המשמש עבור ההעברה:

השתמש "display_errors על" כדי לעזור שגיאות באגים.

העברת אתר ג'ומלה 2.5 כדי ג'ומלה 3.0:

זכור כי אתה צריך להוסיף מורשת בכל מקום אתה מרחיב ישירות JModel, JView או JController. אם זה עקיף (כמו דרך JModellist) אין צורך, זה כבר טופל. מלבד זה, והעובדה כמו הודיעה לפני זמן רב בשימוש קוד הוסר (אני מניח כי JParameter הוא ההשפעה הרבה ביותר) הרחבות צריך רק שינויים משניים. למרות אתה רוצה להסתכל על השינויים פלט זה שקייל עובד על. כמובן אם אתה בונה לעמוד לבד פלטפורמת יישומים של MVC חדש ו JApplicationWeb/JApplicationCLI הם לגמרי הדרך אתה צריך לעבוד וזה הדבר הנחמד על הדרך שעשינו זאת חבילות חדשות הם כבר שם בשרת שלך כאשר הגיע עם CMS. (אלין ברשימת פיתוח)

דוגמאות:

DS

מאז הורדנו את הקבוע DS ב- 3.0, אנו צריכים להחליף את השימושים של הקבוע ב- com_media. השינוי הכי פולשני הוא פשוט להחליף אותו עם DIRECTORY_SEPARATOR קבוע PHP מאז DS הוא כינוי זה.

(joomlacode)

if(!מוגדרת על ידי('DS')){
define('DS',DIRECTORY_SEPARATOR);
}
//$controller = JController::getInstance('HelloWorld');
$controller= JControllerLegacy:getInstance('HelloWorld');
//class HelloWorldViewHelloWorlds מרחיב JView
מחלקהמרחיב JViewLegacy
מחלקהמרחיבה JControllerLegacy
מחלקהמרחיבה JModelItemLegacy
מחלקהמרחיבה JModelFormLegacy
JRegistry:ל- getValue() עכשיו זה JRegistry:לקבל()
//Convert הדגימה כדי JRegistry עם LoadJSON - מדגם לקוד המקור של ג'ומלה 3.0
//                             $params = חדש JRegistry;
//                             $params -> loadJSON ($ זה -> פריט -> params);
//                             $this -> פריט -> params = $params;
                                $params=חדש JRegistry;
                                $params->loadString($item->params);
                                $item->params=$params;

כאן קוד מקור: https://joomlacode.org/gf/project/hellojoomla3/frs/

MVC חדש אתר ג'ומלה 3.0

"גירסת הפלטפורמה 12.1 הציג תבנית חדשה עבור מודל-תצוגה-קונטרולר פרדיגמה. Principly, המעמדות JModel, JView ו- JController עכשיו ממשקים והם מחלקות אבסטרקטיות הבסיס עכשיו JModelBase, JViewBase ו- JControllerBase בהתאמה. ב נוספים, כל מחלקות הפכו לפשוטות הסרת הרבה זיווגים עם CMS ג'ומלה זה לא נחוץ עבור העצמאי ג'ומלה פלטפורמת יישומים."... [פלטפורמת ג'ומלה MVC ידנית - https://developer.joomla.org/manual/chap-Joomla_Platform_Manual-MVC.html]