CliApplication

Extends \Joomla\Application\AbstractApplication Implements \Joomla\Event\DispatcherAwareInterface, CMSApplicationInterface

Base class for a Joomla! command line application.

abstract deprecated
since

2.5.0

deprecated

5.0 Use the ConsoleApplication instead

package

Application

Methods

__construct

Class constructor.

__construct(\Joomla\Input\Input input = null, \Joomla\Registry\Registry config = null, \Joomla\CMS\Application\CLI\CliOutput output = null, \Joomla\CMS\Application\CLI\CliInput cliInput = null, \Joomla\Event\DispatcherInterface dispatcher = null, \Joomla\DI\Container container = null) : mixed
since

1.7.0

Arguments

input

\Joomla\Input\InputAn optional argument to provide dependency injection for the application's input object. If the argument is a JInputCli object that object will become the application's input object, otherwise a default input object is created.

config

\Joomla\Registry\RegistryAn optional argument to provide dependency injection for the application's config object. If the argument is a Registry object that object will become the application's config object, otherwise a default config object is created.

output

\Joomla\CMS\Application\CLI\CliOutputThe output handler.

cliInput

\Joomla\CMS\Application\CLI\CliInputThe CLI input handler.

dispatcher

\Joomla\Event\DispatcherInterfaceAn optional argument to provide dependency injection for the application's event dispatcher. If the argument is a DispatcherInterface object that object will become the application's event dispatcher, if it is null then the default event dispatcher will be created based on the application's loadDispatcher() method.

container

\Joomla\DI\ContainerDependency injection container.

Response

mixed

__get

Magic method to access properties of the application.

__get(string name) : mixed
deprecated
since

4.0.0

deprecated

5.0 This is a B/C proxy for deprecated read accesses

Arguments

name

stringThe name of the property.

Response

mixedA value if the property name is valid, null otherwise.

bootComponent

Boots the component with the given name.

bootComponent(string component) : \Joomla\CMS\Extension\ComponentInterface
inherited
since

4.0.0

Arguments

component

stringThe component to boot.

Response

\Joomla\CMS\Extension\ComponentInterface

bootModule

Boots the module with the given name.

bootModule(string module, string applicationName) : \Joomla\CMS\Extension\ModuleInterface
inherited
since

4.0.0

Arguments

module

stringThe module to boot

applicationName

stringThe application name

Response

\Joomla\CMS\Extension\ModuleInterface

bootPlugin

Boots the plugin with the given name and type.

bootPlugin(string plugin, string type) : \Joomla\CMS\Extension\PluginInterface
inherited
since

4.0.0

Arguments

plugin

stringThe plugin name

type

stringThe type of the plugin

Response

\Joomla\CMS\Extension\PluginInterface

createExtensionNamespaceMap

Allows the application to load a custom or default identity.

createExtensionNamespaceMap() : void
inherited
since

4.0.0

enqueueMessage

Enqueue a system message.

enqueueMessage(string msg, string type = self::MSG_INFO) : void
since

4.0.0

Arguments

msg

stringThe message to enqueue.

type

stringThe message type.

execute

Execute the application.

execute() : void
since

1.7.0

getCliInput

Get a CLI input object.

getCliInput() : \Joomla\CMS\Application\CLI\CliInput
since

4.0.0

Response

\Joomla\CMS\Application\CLI\CliInput

getConfig

Retrieve the application configuration object.

getConfig() : \Joomla\Registry\Registry
since

4.0.0

Response

\Joomla\Registry\Registry

getContainer

Get the DI container.

getContainer() : \Joomla\DI\Container
inherited abstract
since

4.0.0

throws

\Joomla\DI\Exception\ContainerNotFoundExceptionMay be thrown if the container has not been set.

Response

\Joomla\DI\Container

getDispatcher

Get the event dispatcher.

getDispatcher() : \Joomla\Event\DispatcherInterface
inherited abstract
since

4.0.0

throws

\UnexpectedValueExceptionMay be thrown if the dispatcher has not been set.

Response

\Joomla\Event\DispatcherInterface

getIdentity

Get the application identity.

getIdentity() : \Joomla\CMS\User\User
inherited
since

4.0.0

Response

\Joomla\CMS\User\User

getInput

Method to get the application input object.

getInput() : \Joomla\Input\Input
since

4.0.0

Response

\Joomla\Input\Input

getInstance

Returns a reference to the global CliApplication object, only creating it if it doesn't already exist.

getInstance(string name = null) : \Joomla\CMS\Application\CliApplication
static deprecated

This method must be invoked as: $cli = CliApplication::getInstance();

since

1.7.0

deprecated

5.0 Load the app through the container

throws

\RuntimeException

Arguments

name

stringThe name (optional) of the Application Cli class to instantiate.

Response

\Joomla\CMS\Application\CliApplication

getLanguage

Method to get the application language object.

getLanguage() : \Joomla\CMS\Language\Language
since

4.0.0

Response

\Joomla\CMS\Language\LanguageThe language object

getLogger

Get the logger.

getLogger() : \Psr\Log\LoggerInterface
inherited abstract
since

4.0.0

Response

\Psr\Log\LoggerInterface

getMessageQueue

Get the system message queue.

getMessageQueue() : array
since

4.0.0

Response

arrayThe system message queue.

getOutput

Get an output object.

getOutput() : \Joomla\CMS\Application\CLI\CliOutput
since

4.0.0

Response

\Joomla\CMS\Application\CLI\CliOutput

getSession

Method to get the application session object.

getSession() : \Joomla\Session\SessionInterface
since

4.0.0

Response

\Joomla\Session\SessionInterfaceThe session object

in

Get a value from standard input.

in() : string
since

4.0.0

Response

stringThe input string from standard input.

isCli

Flag if the application instance is a CLI or web based application.

isCli() : bool
deprecated

Helper function, you should use the native PHP functions to detect if it is a CLI application.

since

4.0.0

deprecated

5.0 Will be removed without replacements

Response

bool

isClient

Check the client interface by name.

isClient(string identifier) : bool
since

4.0.0

Arguments

identifier

stringString identifier for the application interface

Response

boolTrue if this application is of the given type client interface.

loadExtension

Loads the extension.

loadExtension(string type, string extensionName, string extensionPath) : \Joomla\CMS\Extension\ComponentInterface|\Joomla\CMS\Extension\ModuleInterface|\Joomla\CMS\Extension\PluginInterface
inherited
since

4.0.0

Arguments

type

stringThe extension type

extensionName

stringThe extension name

extensionPath

stringThe path of the extension

Response

\Joomla\CMS\Extension\ComponentInterface|\Joomla\CMS\Extension\ModuleInterface|\Joomla\CMS\Extension\PluginInterface

loadIdentity

Allows the application to load a custom or default identity.

loadIdentity(\Joomla\CMS\User\User identity = null) : $this
inherited
since

4.0.0

Arguments

identity

\Joomla\CMS\User\UserAn optional identity object. If omitted, a null user object is created.

Response

$this

loadPluginFromFilesystem

Creates a CMS plugin from the filesystem.

loadPluginFromFilesystem(string plugin, string type) : \Joomla\CMS\Plugin\CMSPlugin
inherited
since

4.0.0

Arguments

plugin

stringThe plugin

type

stringThe type

Response

\Joomla\CMS\Plugin\CMSPlugin

out

Write a string to standard output.

out(string text = '', bool nl = true) : $this
since

4.0.0

Arguments

text

stringThe text to display.

nl

boolTrue (default) to append a new line at the end of the output string.

Response

$this

registerEvent

Registers a handler to a particular event group.

registerEvent(string event, callable handler) : $this
inherited
since

4.0.0

Arguments

event

stringThe event name.

handler

callableThe handler, a function or an instance of an event object.

Response

$this

setOutput

Set an output object.

setOutput(\Joomla\CMS\Application\CLI\CliOutput output) : $this
since

3.3

Arguments

output

\Joomla\CMS\Application\CLI\CliOutputCliOutput object

Response

$this

setUserFactory

Set the user factory to use.

setUserFactory(\Joomla\CMS\User\UserFactoryInterface userFactory) : void
inherited
since

4.0.0

Arguments

userFactory

\Joomla\CMS\User\UserFactoryInterfaceThe user factory to use

triggerEvent

Calls all handlers associated with an event group.

triggerEvent(string eventName, array|\Joomla\Event\Event args = []) : array
inherited deprecated

This is a legacy method, implementing old-style (Joomla! 3.x) plugin calls. It's best to go directly through the Dispatcher and handle the returned EventInterface object instead of going through this method. This method is deprecated and will be removed in Joomla! 5.x.

This method will only return the 'result' argument of the event

since

4.0.0

throws

\InvalidArgumentException

deprecated

5.0

Arguments

eventName

stringThe event name.

args

array|\Joomla\Event\EventAn array of arguments or an Event object (optional).

Response

arrayAn array of results from each function call. Note this will be an empty array if no dispatcher is set.

Properties

output

Output object

since

4.0.0

Type(s)

CliOutput

input

The input.

since

4.0.0

Type(s)

\Joomla\Input\Input

cliInput

CLI Input object

since

4.0.0

Type(s)

CliInput

language

The application language object.

since

4.0.0

Type(s)

Language

messages

The application message queue.

since

4.0.0

Type(s)

array

instance

The application instance.

static
since

1.7.0

Type(s)

CliApplication

identity

The application identity object.

inherited
since

4.0.0

Type(s)

User

userFactory

UserFactoryInterface

inherited
since

4.0.0

Type(s)

UserFactoryInterface