Difference between revisions of "Absolute Basics of How a Component Functions/de"

From Joomla! Documentation

(Created page with "MVC ist ein Entwurfsmuster in der Softwareentwicklung, welches genutzt werden kann um Code zu strukturieren und so Geschäftslogik und Datenpräsentation zu trennen. Die Präm...")
(Created page with "Das Model ist der Teil der Komponente, welcher die Daten der Anwendung kapselt. Es stellt Routinen bereit, um diese Daten in einer sinnvollen Art und Weise zu verwalten und ma...")
Line 10: Line 10:
  
 
===Model===
 
===Model===
The model is the part of the component that encapsulates the application's data. It will often provide routines to manage and manipulate this data in a meaningful way in addition to routines that retrieve the data from the model. In general, the underlying data access technique should be encapsulated in the model. In this way, if an application is to be moved from a system that utilizes a flat file to store its information to a system that uses a database, the model is the only element that needs to be changed, not the view or the controller.
+
Das Model ist der Teil der Komponente, welcher die Daten der Anwendung kapselt. Es stellt Routinen bereit, um diese Daten in einer sinnvollen Art und Weise zu verwalten und manipulieren. Zusätzlich bietet es Routinen, um die Daten vom Model abzurufen. Generell sollte die zugrunde liegende Technik des Datenzugriffs im Model gekapselt sein. Auf diese Weise muss nur das Model geändert werden und nicht die View oder der Controller, wenn eine Anwendung von einem System welches statt Dateien die Datenbank nutzt um Informationen zu speichern, wechselt.
  
 
===View===
 
===View===

Revision as of 05:37, 20 January 2016

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Nederlands • ‎Nederlands (informeel)‎ • ‎eesti • ‎español • ‎français • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎русский • ‎українська • ‎فارسی • ‎हिन्दी • ‎অসমীয়া • ‎বাংলা • ‎中文(台灣)‎

Dieser Artikel ist für Joomla! Anfänger entworfen worden; er ist entworfen worden um zu erklären, was eine Joomla! Komponente ist und wie sie funktioniert. Falls das Tutorial von einem bestimmten Komponenten Beispiel profitiert wird dieser Artikel auf eine Beispiel-Komponente namens "Hello World!" verweisen.

Was ist ein Joomlaǃ Komponente

Eine Komponente ist eine Art von Joomla! Erweiterung. Komponenten sind die Haupt-Funktionseinheiten von Joomla!; sie können auch als Mini-Applikationen gesehen werden. Eine einfache Analogie sieht Joomla! als das Betriebssystem und die Komponenten als die Desktopanwendungen. Inhalte werden normalerweise von einer Komponente erzeugt und in der Mitte des Inhaltsbereichs eines Templates angezeigt (abhängig vom Template).

Die meisten Komponenten haben zwei Hauptbestandteile: einen Administrationsbereich und einen Site-Bereich. Der Site-Bereich wird genutzt, um Seiten anzuzeigen, wenn sie von Besuchern während des normalen Betriebs der Website angefordert werden. Der Administrationsbereich bietet eine Schnittstelle, um die verschiedenen Aspekte der Komponente zu konfigurieren und zu verwalten. In den Administrationsbereich gelangt man mit Hilfe der Joomla! Administrationsanwendung.

Joomla! wird mit einer Reihe von Basis-Komponenten, wie die Inhaltsverwaltung, Kontaktformulare und Weblinks, ausgeliefert.

Siehe auch: Module, Plugin, Template


Im Joomla! Framework können Komponenten entworfen werden, die ein flaches Model (gibt den HTML-Code der angefragten Seite zurück) oder das Model-View-Controller (kurz MVC) Muster nutzen.

Einführung in MVC

MVC ist ein Entwurfsmuster in der Softwareentwicklung, welches genutzt werden kann um Code zu strukturieren und so Geschäftslogik und Datenpräsentation zu trennen. Die Prämisse hinter diesem Ansatz ist, dass wenn die Geschäftslogik in einem Bereich zusammengefasst ist, dann können die Benutzerschnittstelle und -interaktion, die die Daten umgeben, überarbeitet und angepasst werden, ohne das die Geschäftslogik umprogrammiert werden muss. Ursprünglich wurde MVC entwickelt, um die traditionellen Eingabe, Verarbeitung, Ausgabe - Rollen auf eine logische GUI-Archtiektur abzubilden.

Model

Das Model ist der Teil der Komponente, welcher die Daten der Anwendung kapselt. Es stellt Routinen bereit, um diese Daten in einer sinnvollen Art und Weise zu verwalten und manipulieren. Zusätzlich bietet es Routinen, um die Daten vom Model abzurufen. Generell sollte die zugrunde liegende Technik des Datenzugriffs im Model gekapselt sein. Auf diese Weise muss nur das Model geändert werden und nicht die View oder der Controller, wenn eine Anwendung von einem System welches statt Dateien die Datenbank nutzt um Informationen zu speichern, wechselt.

View

The view is the part of the component that is used to render the data from the model in a manner that is suitable for interaction. For a web-based application, the view would generally be an HTML page that is returned to the user. The view pulls data from the model (which is passed to it from the controller) and feeds the data into a template which is populated and presented to the user. The view does not cause the data to be modified in any way, it only displays the data received from the model.

Steuerung

The controller is responsible for responding to user actions. In the case of a web application, a user action is generally a page request. The controller will determine what request is being made by the user and respond appropriately by triggering the model to manipulate the data appropriately and passing the model into the view. The controller does not display the data in the model, it only triggers methods in the model which modify the data, and then pass the model into the view which displays the data.

Joomla! Das Komponenten-Framework, erklärt

Model

Im Joomlaframework sind die Models verantwortlich für die Datenverwaltung. Die erste Funktion, die für ein Model geschrieben werden muss, ist die "get-Funktion". Sie gibt Daten zurück an den Aufrufer. Für dieses Beispiel der Aufrufer ist die "HelloWorldViewHelloWorld" Ansicht. Standardmäßig ist das Model "HelloWorldModelHelloWorld", welches unter site/models/helloworld.php zu finden ist, das wichtigste Model für diese Ansicht.

So let's have a quick look at the naming conventions with an example, since the naming convention are the actual magic, that make everything work:

The class HelloWorldViewHelloWorld resides in site/views/helloworld/view.html.php and will make use of the class HelloWorldModelHelloWorld in the file site/models/helloworld.php

Do let's just assume we want to use an imaginary view fluffy, you would have to have:

The class HelloWorldViewFluffy which resides in site/views/fluffy/view.html.php. The view will make use of HelloWorldModelFluffy in the file site/models/fluffy.php. Note: the actual screen of the view: site/views/fluffy/tmpl/default.php is required as well to make this example work.

Brechen mit dieser Konventionen führt zu Fehlern oder einer leere Seite.

Zugriff auf eine Joomlaǃ Komponente

First we need to access the Joomla! platform, which is always accessed through a single point of entry. Using your preferred web browser, navigate to the following URL:

1 Benutzer Zugang <deineDomain>/joomla/index.php
2 Administrator-Zugang <deinedomain>/joomla/administrator/index.php

"Hallo Welt!"- Beispiel: localhost/joomla/index.php

Sie können die Url der Komponente, oder eine Menu nutzen, um zur Komponente zu navigieren. In diesem Artikel werden wir die Möglichkeit der Url besprechen.

1 Benutzer Zugang <deine Seite>/joomla/index.php?option=com_<component_name>
2 administrator Zugriff <deine Seite>/joomla/administrator/index.php?option=com_<component_name>

Hallo Welt! Beispiel: localhost/joomla/index.php?option=com_helloworld

MVC-Basis Verzeichnis Struktur

Komponenten liegen in einem Verzeichnis Ihrer Joomla-Installation. Genau gesagt in htdocs/<PfadzuJoomla>/komponenten/com_<komponenten_name>/

Die Hallo Welt! Komponente wurde gespeichert in htdocs/<path_to_joomla>/Komponenten/com_helloworld/.

Eine Grundkomponente enthält die folgenden Dateien in ihrem Verzeichnis:

  • A html file that is just a security file with a background colorː index.html
  • A php file that represents the controller itselfː controller.php
  • A php file that loads the controller classː <component_name>.php
  • A php file that represents the model itselfː models/<component_name>.php
  • Another html file for background controlː models/index.html
  • A php file containing the default viewː views/<component_name>/tmpl/default.php
  • A xml file for adding a menu item typeː views/<component_name>/tmpl/default.xml
  • Another html file for background controlː views/<component_name>/tmpl/index.html
  • Another html file for background controlː views/<component_name>/index.html
  • A php file for displaying the viewː views/<component_name>/view.html.php


JEXEC

The following line is commonly found at the start of Joomla! PHP files:

<?php
    defined('_JEXEC') or die('Restricted Access');

This enables for a secure entry point into the Joomla! platform. JEXEC contains a detailed explanation.

Tutorials on Designing a MVC Component

To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.