- A communication Channel, like web (HTTP), REST, command line interface (CLI).
Commands are going to replace the controllers of Joomla! < 4.0. Each Command implements a single task, that can be addressed from arbitrary channels.
Resources about the Command Pattern
- The CommandProcessor will handle the execution of the command.
It triggers the
- The Controller determines, which command has to be run, and executes it through a CommandProcessor.
- A script, that is called on the start of each request. For HTTP, it is `index.php`, for REST it is `api.php`, and for CLI it is `joomla.php`.
- The Channel dependent layer.
- The Input object is a channel independent encapsulation of the input data.
- A Model contains the business (domain) logic.
- The Output object is a channel independent encapsulation of the output data.
- A Plugin reacts on events.
- A Command, that can be undone.
- A Renderer transforms the output in a specific way.
- An Input object. It's merely an alias to reflect the domain language.
- An Output object. It's merely an alias to reflect the domain language.