Actions

J3.x

Entwicklung einer MVC Komponente/Einführung

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

Other languages:
العربية 100% • ‎Deutsch 100% • ‎English 100% • ‎español 100% • ‎français 100% • ‎Nederlands 100% • ‎português do Brasil 100%
Joomla! 
3.x
Tutorial
Entwicklung einer MVC Komponente


Dies ist eine Artikel-Serie mit Tutorials über die Entwicklung einer Model-View-Controller Komponente für Joomla! VersionJoomla 3.x.

Beginne mit der Einführung und navigiere durch die Artikel dieser Serie mit Hilfe des Buttons am Ende der Seite oder der Box auf der rechten Seite ("Artikel in dieser Serie").



Hinweise

Voraussetzungen

Du benötigst Joomla! 3.0 (mit PHP, MySQL und Apache/Microsoft IIS) oder höher für dieses Tutorial. Ich sammelte eine Vielzahl von Informationen und startete dann die Komponente vom neuen Joomla! 2.5 nach 3.0 zu migrieren. Unten sind einige wichtige Informationen, die für die Migration genutzt wurden. Alle Informationen zur Migration können Upgrade-Versionen entnommen werden. Benutze "display_errors On" um Fehler leichter zu finden.

Migration von Joomla! 2.5 nach Joomla! 3.0:

Denke daran, dass du "Legacy" immer dann anhängst, wenn du JModel, JView oder JController direkt erweiterst. Wenn es indirekt ist (wie z.B. durch JModelList) brauchst du es nicht hinzuzufügen, da sich darum bereits gekümmert wurde. Ansonsten und die Tatsache, dass, wie lange angekündigt, veralteter Code entfernt wurde (ich schätze, dass das auf JParameter die größte Auswirkung hat), sollten Erweiterungen nur minimale Änderungen erfordern ... Obwohl du dir vielleicht die Änderungen an der Ausgabe, an denen Kyle arbeitet, ansehen willst. Wenn du natürlich eine alleinstehende Plattform-Applikation erstellen willst, solltest du mit dem neuen MVC und JApplicationWeb/JApplicationCLI arbeiten. Das Schöne an der Art wie wir das umgesetzt haben ist, dass die neuen Pakete bereits auf deinem Server zusammen mit dem CMS sind. (Elin in der Development Mailing-Liste)

Beispiele: DS Seit wir die DS Konstante in 3.0 entfernt haben müssen wir alle Vorkommen der Konstante in com_media ersetzen. Die unauffälligste Änderung ist sie einfach mit PHP's DIRECTORY_SEPARATOR zu ersetzen, da DS ein Alias für diese Konstante ist.

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

Hier ist der Quellcode: http://joomlacode.org/gf/project/hellojoomla3/frs/

Neues MVC in Joomla! 3.0

"Version 12.1 der Plattform führte ein neues Format des Model-View-Controller-Paradigmas ein. Im Prinzip sind die Klassen JModel, JView und JController nun Schnittstellen beziehungsweise die grundlegenden abstrakten Klassen sind nun JModelBase, JViewBase und JControllerBase. Zudem wurden alle Klassen vereinfacht, indem viele Verkopplungen mit dem Joomla! CMS gelöst wurden, da dies unnötig für eigenständige Joomla! Plattform-Anwendungen war." ... Joomla! Platform Manual MVC

Mitwirkende

Advertisement