Розробка компонентів MVC/Введення

Розробка компонентів MVC/Введення

Це кілька статті серії підручники про те, як розробити модель-вид-Contoller компонент для Joomla версії 3.1.

Починати з введенняі перейти до статті в цій серії, використовуючи вікно навігації праворуч ( статті в цій серії).

Вимоги

Ви повинні Joomla 3.0 (з PHP, MySQL, Apache і Microsoft II) або більше, для цього уроку.

Я зібрав багато інформації, а потім я почав перенесення компонент нового Joomla 2.5 до 3.0. Ось деякі важливі відомості використовуються для міграції:

Використовуйте "display_errors на", щоб допомогти в помилки налагодження.

Перенесення Joomla 2.5 для Joomla 3.0:

Пам'ятайте, що вам потрібно додати Legacy будь-якому місці ви безпосередньо розширення, 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 - зразок з Joomla 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 в Joomla 3.0

"Версію 12,1 платформи представила новий формат для модель вид контролер парадигми. Principly, класів, JModel, JView і JController тепер інтерфейсів і базові абстрактні класи в даний час JModelBase, JViewBase і JControllerBase відповідно. У додаткових, всі класи спрощено видалення багато муфти з Joomla CMS, яке не є необхідним для автономного Joomla платформних додатків."... [Joomla платформи керівництво MVC - https://developer.joomla.org/manual/chap-Joomla_Platform_Manual-MVC.html]