BaseController

Extends \JObject

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

Methods

__construct

Constructor.

__construct(array $config = array()) 
since

3.0

Arguments

$config

arrayAn 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).

addModelPath

Adds to the stack of model paths in LIFO order.

addModelPath(mixed $path, string $prefix = '') : void
static
since

3.0

Arguments

$path

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

$prefix

stringA prefix for models

addPath

Adds to the search path for templates and resources.

addPath(string $type, mixed $path) : \JControllerLegacy
since

3.0

Arguments

$type

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

$path

mixedThe directory string or stream array to search.

Response

\JControllerLegacyA \JControllerLegacy object to support chaining.

addViewPath

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

addViewPath(mixed $path) : \JControllerLegacy
since

3.0

Arguments

$path

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

Response

\JControllerLegacyThis object to support chaining.

authorise

Authorisation check

authorise(string $task) : boolean
deprecated
since

3.0

deprecated

3.0 Use \JAccess instead.

Arguments

$task

stringThe ACO Section Value to check access on.

Response

booleanTrue if authorised

checkEditId

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

checkEditId(string $context, integer $id) : boolean
since

3.0

Arguments

$context

stringThe context for the session storage.

$id

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

Response

booleanTrue if the ID is in the edit list.

checkToken

Checks for a form token in the request.

checkToken(string $method = 'post', boolean $redirect = true) : boolean

Use in conjunction with \JHtml::_('form.token') or \JSession::getFormToken.

since

3.7.0

see \JSession::checkToken()

Arguments

$method

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

$redirect

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

Response

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

createFileName

Create the filename for a resource.

createFileName(string $type, array $parts = array()) : string
static
since

3.0

Arguments

$type

stringThe resource type to create the filename for.

$parts

arrayAn associative array of filename information. Optional.

Response

stringThe filename.

createModel

Method to load and return a model object.

createModel(string $name, string $prefix = '', array $config = array()) : \JModelLegacy|boolean
since

3.0

Arguments

$name

stringThe name of the model.

$prefix

stringOptional model prefix.

$config

arrayConfiguration array for the model. Optional.

Response

\JModelLegacy|booleanModel 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(string $name, string $prefix = '', string $type = '', array $config = array()) : \JViewLegacy|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

arrayConfiguration array for the view. Optional.

Response

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

display

Typical view method for MVC based architecture

display(boolean $cachable = false, array $urlparams = array()) : \JControllerLegacy

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

since

3.0

Arguments

$cachable

booleanIf true, the view output will be cached

$urlparams

arrayAn array of safe URL parameters and their variable types, for valid values see {@link \JFilterInput::clean()}.

Response

\JControllerLegacyA \JControllerLegacy object to support chaining.

execute

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

execute(string $task) : mixed
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.

getInstance

Method to get a singleton controller instance.

getInstance(string $prefix, array $config = array()) : \JControllerLegacy
static
since

3.0

throws

\Exceptionif the controller cannot be loaded.

Arguments

$prefix

stringThe prefix for the controller.

$config

arrayAn array of optional constructor options.

Response

\JControllerLegacy

getModel

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

getModel(string $name = '', string $prefix = '', array $config = array()) : \JModelLegacy|boolean
since

3.0

Arguments

$name

stringThe model name. Optional.

$prefix

stringThe class prefix. Optional.

$config

arrayConfiguration array for model. Optional.

Response

\JModelLegacy|booleanModel object on success; otherwise false on failure.

getName

Method to get the controller name

getName() : string

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() : string
since

3.0

Response

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

getTasks

Gets the available tasks in the controller.

getTasks() : array
since

3.0

Response

arrayArray[i] of task names.

getView

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

getView(string $name = '', string $type = '', string $prefix = '', array $config = array()) : \JViewLegacy
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

arrayConfiguration array for view. Optional.

Response

\JViewLegacyReference to the view or an error.

holdEditId

Method to add a record ID to the edit list.

holdEditId(string $context, integer $id) : void
since

3.0

Arguments

$context

stringThe context for the session storage.

$id

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

redirect

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

redirect() : boolean
since

3.0

Response

booleanFalse if no redirect exists.

registerDefaultTask

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

registerDefaultTask(string $method) : \JControllerLegacy
since

3.0

Arguments

$method

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

Response

\JControllerLegacyA \JControllerLegacy object to support chaining.

registerTask

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

registerTask(string $task, string $method) : \JControllerLegacy
since

3.0

Arguments

$task

stringThe task.

$method

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

Response

\JControllerLegacyA \JControllerLegacy object to support chaining.

releaseEditId

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

releaseEditId(string $context, integer $id) : void
since

3.0

Arguments

$context

stringThe context for the session storage.

$id

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

setMessage

Sets the internal message that is passed with a redirect

setMessage(string $text, string $type = 'message') : string
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(string $type, string $path) : void
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.

setRedirect

Set a URL for browser redirection.

setRedirect(string $url, string $msg = null, string $type = null) : \JControllerLegacy
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

\JControllerLegacyThis object to support chaining.

unregisterTask

Unregister (unmap) a task in the class.

unregisterTask(string $task) : \JControllerLegacy
since

3.0

Arguments

$task

stringThe task.

Response

\JControllerLegacyThis 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

name

The name of the controller

since

3.0

Type(s)

array

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

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

input

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

since

3.0

Type(s)

\JInput

instance

Instance container.

static
since

3.0

Type(s)

\JControllerLegacy

views

Instance container containing the views.

static
since

3.4

Type(s)

array<mixed,\JViewLegacy>