BaseController

Implements ControllerInterface, DispatcherAwareInterface

Base class for a Joomla Controller

Controller (Controllers are where you put all the actual code.) Provides basic functionality, such as rendering views (aka displaying templates).

since

2.5.5

package

Joomla CMS

Methods

__construct

Constructor.

__construct(mixed||string|int config = [], \Joomla\CMS\MVC\Factory\MVCFactoryInterface factory = null, \Joomla\CMS\Application\CMSApplication app = null, \Joomla\Input\Input input = null) : 
since

3.0

Arguments

config

array<string|int, mixed>An optional associative array of configuration settings. Recognized key values include 'name', 'default_task', 'model_path', and 'view_path' (this list is not meant to be comprehensive).

factory

MVCFactoryInterface|nullThe factory.

app

CMSApplication|nullThe Application for the dispatcher

input

Input|nullInput

Response

mixed

addModelPath

Adds to the stack of model paths in LIFO order.

addModelPath( path,  prefix = '') : 
static deprecated
since

3.0

deprecated

4.3 will be removed in 6.0 Will be removed without replacement. Get the model through the MVCFactory instead

Arguments

path

mixedThe directory (string), or list of directories (array) to add.

prefix

stringA prefix for models

Response

void

addPath

Adds to the search path for templates and resources.

addPath( type,  path) : 
since

3.0

Arguments

type

stringThe path type (e.g. 'model', 'view').

path

mixedThe directory string or stream array to search.

Response

staticA \JControllerLegacy object to support chaining.

addViewPath

Add one or more view paths to the controller's stack, in LIFO order.

addViewPath( path) : 
since

3.0

Arguments

path

mixedThe directory (string) or list of directories (array) to add.

Response

staticThis object to support chaining.

checkEditId

Method to check whether an ID is in the edit list.

checkEditId( context,  id) : 
since

3.0

Arguments

context

stringThe context for the session storage.

id

intThe ID of the record to add to the edit list.

Response

boolTrue if the ID is in the edit list.

checkToken

Checks for a form token in the request.

checkToken( method = 'post',  redirect = true) : 

Use in conjunction with HTMLHelper::_('form.token') or Session::getFormToken.

since

3.7.0

see Session::checkToken()

Arguments

method

stringThe request method in which to look for the token key.

redirect

boolWhether to implicitly redirect user to the referrer page on failure or simply return false.

Response

boolTrue if found and valid, otherwise return false or redirect to referrer page.

createFileName

Create the filename for a resource.

createFileName( type, mixed||string|int parts = []) : 
static
since

3.0

Arguments

type

stringThe resource type to create the filename for.

parts

array<string|int, mixed>An associative array of filename information. Optional.

Response

stringThe filename.

createModel

Method to load and return a model object.

createModel( name,  prefix = '', mixed||string|int config = []) : \Joomla\CMS\MVC\Model\BaseDatabaseModel|bool
since

3.0

Arguments

name

stringThe name of the model.

prefix

stringOptional model prefix.

config

array<string|int, mixed>Configuration array for the model. Optional.

Response

BaseDatabaseModel|boolModel object on success; otherwise false on failure.

createView

Method to load and return a view object. This method first looks in the current template directory for a match and, failing that, uses a default set path to load the view class file.

createView( name,  prefix = '',  type = '', mixed||string|int config = []) : \Joomla\CMS\MVC\View\ViewInterface|null

Note the "name, prefix, type" order of parameters, which differs from the "name, type, prefix" order used in related public methods.

since

3.0

throws

Exception

Arguments

name

stringThe name of the view.

prefix

stringOptional prefix for the view class name.

type

stringThe type of view.

config

array<string|int, mixed>Configuration array for the view. Optional.

Response

ViewInterface|nullView object on success; null or error result on failure.

display

Typical view method for MVC based architecture

display( cachable = false, mixed||string|int urlparams = []) : 

This function is provide as a default implementation, in most cases you will need to override it in your own controllers.

since

3.0

throws

Exception

Arguments

cachable

boolIf true, the view output will be cached

urlparams

array<string|int, mixed>An array of safe url parameters and their variable types, for valid values see {@link InputFilter::clean()}.

Response

staticA \JControllerLegacy object to support chaining.

execute

Execute a task by triggering a method in the derived class.

execute( task) : 
since

3.0

throws

Exception

Arguments

task

stringThe task to perform. If no matching task is found, the '__default' task is executed, if defined.

Response

mixedThe value returned by the called method.

getDispatcher

Get the event dispatcher.

getDispatcher() : \Joomla\Event\DispatcherInterface

The override was made to keep a backward compatibility for legacy component. TODO: Remove the override in 6.0

since

4.4.0

throws

UnexpectedValueExceptionMay be thrown if the dispatcher has not been set.

Response

DispatcherInterface

getInstance

Method to get a singleton controller instance.

getInstance( prefix, mixed||string|int config = []) : 
static deprecated
since

3.0

deprecated

4.3 will be removed in 6.0 Get the controller through the MVCFactory instead Example: Factory::getApplication()->bootComponent($option)->getMVCFactory()->createController(...);

throws

Exceptionif the controller cannot be loaded.

Arguments

prefix

stringThe prefix for the controller.

config

array<string|int, mixed>An array of optional constructor options.

Response

static

getModel

Method to get a model object, loading it if required.

getModel( name = '',  prefix = '', mixed||string|int config = []) : \Joomla\CMS\MVC\Model\BaseDatabaseModel|bool
since

3.0

Arguments

name

stringThe model name. Optional.

prefix

stringThe class prefix. Optional.

config

array<string|int, mixed>Configuration array for model. Optional.

Response

BaseDatabaseModel|boolModel object on success; otherwise false on failure.

getName

Method to get the controller name

getName() : 

The dispatcher name is set by default parsed using the classname, or it can be set by passing a $config['name'] in the class constructor

since

3.0

throws

Exception

Response

stringThe name of the dispatcher

getTask

Get the last task that is being performed or was most recently performed.

getTask() : 
since

3.0

Response

stringThe task that is being performed or was most recently performed.

getTasks

Gets the available tasks in the controller.

getTasks() : mixed||string|int
since

3.0

Response

array<string|int, mixed>Array[i] of task names.

getView

Method to get a reference to the current view and load it if necessary.

getView( name = '',  type = '',  prefix = '', mixed||string|int config = []) : \Joomla\CMS\MVC\View\ViewInterface
since

3.0

throws

Exception

Arguments

name

stringThe view name. Optional, defaults to the controller name.

type

stringThe view type. Optional.

prefix

stringThe class prefix. Optional.

config

array<string|int, mixed>Configuration array for view. Optional.

Response

ViewInterfaceReference to the view or an error.

holdEditId

Method to add a record ID to the edit list.

holdEditId( context,  id) : 
since

3.0

Arguments

context

stringThe context for the session storage.

id

intThe ID of the record to add to the edit list.

Response

void

redirect

Redirects the browser or returns false if no redirect is set.

redirect() : 
since

3.0

Response

boolFalse if no redirect exists.

registerDefaultTask

Register the default task to perform if a mapping is not found.

registerDefaultTask( method) : 
since

3.0

Arguments

method

stringThe name of the method in the derived class to perform if a named task is not found.

Response

staticA \JControllerLegacy object to support chaining.

registerTask

Register (map) a task to a method in the class.

registerTask( task,  method) : 
since

3.0

Arguments

task

stringThe task.

method

stringThe name of the method in the derived class to perform for this task.

Response

staticA \JControllerLegacy object to support chaining.

releaseEditId

Method to check whether an ID is in the edit list.

releaseEditId( context,  id) : 
since

3.0

Arguments

context

stringThe context for the session storage.

id

intThe ID of the record to add to the edit list.

Response

void

setMessage

Sets the internal message that is passed with a redirect

setMessage( text,  type = 'message') : 
since

3.0

Arguments

text

stringMessage to display on redirect.

type

stringMessage type. Optional, defaults to 'message'.

Response

stringPrevious message

setPath

Sets an entire array of search paths for resources.

setPath( type,  path) : 
since

3.0

Arguments

type

stringThe type of path to set, typically 'view' or 'model'.

path

stringThe new set of search paths. If null or false, resets to the current directory only.

Response

void

setRedirect

Set a URL for browser redirection.

setRedirect( url,  msg = null,  type = null) : 
since

3.0

Arguments

url

stringURL to redirect to.

msg

stringMessage to display on redirect. Optional, defaults to value set internally by controller, if any.

type

stringMessage type. Optional, defaults to 'message' or the type set by a previous call to setMessage.

Response

staticThis object to support chaining.

unregisterTask

Unregister (unmap) a task in the class.

unregisterTask( task) : 
since

3.0

Arguments

task

stringThe task.

Response

staticThis object to support chaining.

Properties

basePath

The base path of the controller

since

3.0

Type(s)

string

default_view

The default view for the display method.

since

3.0

Type(s)

string

doTask

The mapped task that was performed.

since

3.0

Type(s)

string

message

Redirect message.

since

3.0

Type(s)

string

messageType

Redirect message type.

since

3.0

Type(s)

string

methods

Array of class methods

since

3.0

Type(s)

array<string|int, mixed>

name

The name of the controller

since

3.0

Type(s)

string

model_prefix

The prefix of the models

since

3.0

Type(s)

string

paths

The set of search directories for resources (views).

since

3.0

Type(s)

array<string|int, mixed>

redirect

URL for redirection.

since

3.0

Type(s)

string

task

Current or most recently performed task.

since

3.0

Type(s)

string

taskMap

Array of class methods to call for a given task.

since

3.0

Type(s)

array<string|int, mixed>

input

Hold a JInput object for easier access to the input variables.

since

3.0

Type(s)

Input

factory

The factory.

since

3.10.0

Type(s)

MVCFactoryInterface

instance

Instance container.

static
since

3.0

Type(s)

static

views

Instance container containing the views.

static
since

3.4

Type(s)

array<string|int, ViewInterface>

app

The Application

since

4.0.0

Type(s)

CMSApplication|null