J3.x

Développement d'un composant MVC - Introduction

From Joomla! Documentation

< J3.x:Developing an MVC Component
This page is a translated version of the page J3.x:Developing an MVC Component/Introduction and the translation is 100% complete.

Other languages:
العربية • ‎Deutsch • ‎English • ‎español • ‎français • ‎Nederlands • ‎português do Brasil • ‎中文(中国大陆)‎
Joomla! 
3.x
Didacticiel
Développement d'un composant MVC


Ceci est une série qui regroupe plusieurs articles pour devenir un didacticiel sur la façon de développer un Composant pour Joomla! Joomla 3.x suivant le principe Modèle-Vue-Contrôleur.

Commencez avec l'introduction, et naviguez dans les articles de cette série soit à l'aide des boutons de navigation en bas des articles, soit grâce au menu de droite : Les articles de cette série.



Notes

Exigences techniques

Joomla! 3.0 ou supérieur (avec PHP, MySQL et Apache/IIS de Microsoft) est nécessaire pour ce didacticiel. J'ai recueilli de nombreuses informations, puis j'ai commencé à migrer le composant de Joomla! 2.5 vers Joomla! 3.0. Voici ci-dessous quelques informations importantes sur la migration. Veuillez également consulter toutes les informations sur la migration : Mise à niveau de versions. Paramétrez "display_errors" sur "On" pour faciliter le débogage des erreurs.

Migration de Joomla! 2.5 vers Joomla! 3.0

N'oubliez pas d'ajouter 'Legacy' (rétrocompatibilité) là où vous étendez de façon directe JModel, JView ou JController. Si c'est de manière indirecte (comme pour JModelList), cela n'est pas nécessaire, puisque déjà pris en charge. Outre le fait que le code obsolète (deprecated) a été supprimé (je suppose que JParameter est le plus impacté), les extensions devraient nécessiter que des changements mineurs... Vous pourrez souhaiter voir les modifications de rendu sur lesquelles Kyle travaille. Bien sûr, si vous mettez en place des applications autonomes, le nouveau MVC et JApplicationWeb/JApplicationCLI correspondent à la façon dont vous devriez travailler et, bonne nouvelle, les nouveaux paquets sont déjà là, sur votre serveur, livrés avec le CMS.

Exemples : DS - La constante DS ayant été supprimée dans Joomla! 3.0, il nous faut remplacer les utilisations de la constante dans com_media. Le changement le moins intrusif est de simplement la remplacer par la constante PHP DIRECTORY_SEPARATOR, DS en étant un alias.

(joomlacode)

if(!defined('DS')){
define('DS',DIRECTORY_SEPARATOR);
}

//$controller = JController::getInstance('HelloWorld');
$controller = JControllerLegacy::getInstance('HelloWorld');

//class HelloWorldViewHelloWorlds extends JView
class HelloWorldViewHelloWorlds extends JViewLegacy

class HelloWorldController extends JControllerLegacy

class HelloWorldModelHelloWorld extends JModelItemLegacy

class HelloWorldModelUpdHelloWorld extends JModelFormLegacy

JRegistry::getValue() now is JRegistry::get()

//Convert sample to JRegistry with LoadJSON - Sample from Joomla! 3.0 sourcecode

//				$params = new JRegistry;
//				$params->loadJSON($this->item->params);
//				$this->item->params = $params;

				$params = new JRegistry;
				$params->loadString($item->params);
				$item->params = $params;

Voici le code source : http://joomlacode.org/gf/project/hellojoomla3/frs/

Nouveau MVC dans Joomla! 3.0

"La version 12.1 de la plateforme a introduit un nouveau format pour le paradigme modèle-vue-contrôleur. En principe, les classes JModel, JView et JController sont désormais des interfaces et les classes de base sont désormais et respectivement, JModelBase, JViewBase et JControllerBase. En outre, toutes les classes ont été simplifiées, grâce à la suppression d'un grand nombre de doublon avec le CMS Joomla, qui étaient inutiles dans des applications autonomes de la plateforme Joomla"... Plateforme Joomla! - Manuel MVC

Contributeurs