J3.x

J3.x:Sviluppo di un Componente MVC /Introduzione

From Joomla! Documentation

< J3.x:Developing an MVC Component
Revision as of 20:02, 30 October 2021 by Ing Pulizzi (talk | contribs) (Created page with "S:MyLanguage/J3.x:Developing_an_MVC_Component/Developing_a_Basic_Component|Successivo: Sviluppo di un componente di base")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎العربية • ‎中文(中国大陆)‎ • ‎中文(台灣)‎
Joomla! 
3.x
Tutorial
Sviluppo di un componente MVC



Questa è una serie di tutorial su come sviluppare un componente secondo il paradigma Model-View-Controller. Component Versione Joomla!Joomla 3.x.

Comincia con gli articoli di questa serie delle Introduzioni, e naviga tra gli articoli di utilizzando il pulsante di navigazione in basso o il riquadro a destra (gli Articoli di questa serie).



Note

Requisiti

Hai bisogno di Joomla! 3.0 (con PHP, MySQL e Apache/Microsoft IIS) o versioni successive per questo tutorial. Ho raccolto molte informazioni e poi ho iniziato a migrare il componente del nuovo Joomla! da 2,5 a 3,0.

Di seguito sono riportate alcune informazioni importanti utilizzate per la migrazione.  Consulta anche tutte le informazioni sulla migrazione Versioni di Aggiornamento.

Usa "display_errors On" per aiutarti con gli errori di debugging.

Migrazione di Joomla! 2.5 su Joomla! 3.0:

Ricorda che devi aggiungere Legacy in qualsiasi luogo in cui stai estendendo direttamente JModel, JView o JController. Se è indiretto (come tramite JModelList) non è necessario, è già stato risolto. A parte questo e il fatto che, come annunciato molto tempo fa, il codice deprecato è stato rimosso (immagino che JParameter sia l'impatto maggiore), le estensioni dovrebbero aver bisogno solo di piccole modifiche ... Anche se vorrai guardare le modifiche all'output su cui Kyle sta lavorando. Naturalmente, se stai creando applicazioni per piattaforme standalone, il nuovo MVC e JApplicationWeb/JApplicationCLI sono completamente il modo in cui dovresti lavorare e la cosa bella del modo in cui lo abbiamo fatto è che i nuovi pacchetti sono già proprio lì sul tuo server essendo arrivati con il CMS.

(Elin nella lista di sviluppo)

Campioni: DS Poiché abbiamo rimosso la costante DS in 3.0, dobbiamo sostituire gli usi della costante in com_media. Il cambiamento più discreto è semplicemente sostituirlo con la costante DIRECTORY_SEPARATOR di PHP poiché DS ne è un alias. Tuttavia, il modo consigliato per farlo è usare semplicemente la barra, cioè 'components/com_example/models/example.php' invece di 'components'.DS.'com_example'.DS.'models'.DS.'example. php'. Questo è sicuro per Windows.

(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;

Di seguito il codice sorgente: http://joomlacode.org/gf/project/hellojoomla3/frs/

Il Nuovo "MVC" in Joomla! 3.0

"La versione 12.1 della piattaforma ha introdotto un nuovo formato per il paradigma model-view-controller. In linea di principio, le classi JModel, JView e JController sono ora interfacce e le classi astratte di base sono ora rispettivamente JModelBase, JViewBase e JControllerBase. Inoltre, tutte le classi sono state semplificate, rimuovendo molti accoppiamenti con il CMS Joomla!, che non erano necessari per le applicazioni standalone della piattaforma Joomla!." ...

Joomla!  Manuale della piattaforma MVC

Collaboratori