Chunk

Difference between revisions of "Plugin"

From Joomla! Documentation

(Remove mambot reference)
(Update from 2.5/3.x to 3.x/4.x)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
A plugin is a kind of Joomla! [[extension]]. Plugins provide functions which are associated with trigger events. Joomla provides a set of core [[Plugin/Events|plugin events]], but any extension can fire (custom) events. When a particular event occurs, all plugin functions of the type associated with the event are executed in sequence. This is a powerful way of extending the functionality of the Joomla! [[Framework]]. It also offers extension developers a way to allow other extensions to respond to their actions, making extensions extensible.
+
<noinclude><languages /></noinclude>
 +
<translate><!--T:4-->
 +
A plugin is a kind of Joomla! [[S:MyLanguage/extension|extension]]. Plugins provide functions which are associated with trigger events. Joomla provides a set of core [[S:MyLanguage/Plugin/Events|plugin events]], but any extension can fire (custom) events. When a particular event occurs, all plugin functions of the type associated with the event are executed in sequence. This is a powerful way of extending the functionality of Joomla. It also offers extension developers a way to allow other extensions to respond to their actions, making extensions extensible.</translate>
  
The Joomla! plugin architecture follows the [http://en.wikipedia.org/wiki/Observer_pattern Observer] design pattern. The [[JPlugin]] class is derived from [[JObserver]] and provides the means to register custom plugin code with core or custom events. The [[JEventDispatcher]] class, derived from [[JObservable]], is an event handler which calls all plugins registered for a particular event, when that event is triggered.
+
<translate><!--T:5-->
 +
The Joomla! plugin architecture follows the [[wp:Observer_pattern|Observer design pattern]]. The JPlugin class provides the means to register custom plugin code with core or custom events. The JEventDispatcher class is an event handler which calls all plugins registered for a particular event, when that event is triggered. In Joomla 4.x this has been moved to the \Joomla\Event\Dispatcher class in Joomla, and additionally follows the [[wp:Mediator_pattern|Mediator design pattern]]</translate>
  
'''See also''': [[Component]], [[Module]], [[Template]]<noinclude>[[Category:Glossary definitions|{{PAGENAME}}]]</noinclude>
+
<translate><!--T:6-->
 +
'''See also''': [[S:MyLanguage/Component|Component]], [[S:MyLanguage/Module|Module]], [[S:MyLanguage/Template|Template]]</translate>
 +
 
 +
<noinclude>
 +
<translate>
 +
<!--T:7-->
 +
[[Category:Glossary definitions]]
 +
</translate>
 +
</noinclude>

Latest revision as of 16:48, 6 April 2020

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Kiswahili • ‎Nederlands • ‎català • ‎dansk • ‎español • ‎français • ‎italiano • ‎português • ‎português do Brasil • ‎svenska • ‎български • ‎русский • ‎العربية • ‎中文(台灣)‎ • ‎日本語

A plugin is a kind of Joomla! extension. Plugins provide functions which are associated with trigger events. Joomla provides a set of core plugin events, but any extension can fire (custom) events. When a particular event occurs, all plugin functions of the type associated with the event are executed in sequence. This is a powerful way of extending the functionality of Joomla. It also offers extension developers a way to allow other extensions to respond to their actions, making extensions extensible.

The Joomla! plugin architecture follows the Observer design pattern. The JPlugin class provides the means to register custom plugin code with core or custom events. The JEventDispatcher class is an event handler which calls all plugins registered for a particular event, when that event is triggered. In Joomla 4.x this has been moved to the \Joomla\Event\Dispatcher class in Joomla, and additionally follows the Mediator design pattern

See also: Component, Module, Template