From Joomla! Documentation

The "API17" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.

Joomla 11.1 JController[edit]


JController is an abstract class which provides the basic functionality for your own Controller classes which your create for your components. The Controller is part of Joomla's MVC Pattern. Learn how to develop a component using MVC

The Joomla MVC Design Pattern[edit]

Model-View-Controller (MVC) is a set of design patterns, that are used to separate the different layers of your application.

  • The View displays the data of the model by passing it to a template. The view object can therefore access the data of the model. Joomla implements the basic functionality in the abstract JView class.
  • The Model stores the data of the application, and contains the business logic. Joomla implements the basic functionality in the abstract JModel class.
  • The Controller handles the user requests and evokes the model and the views to change it's state. Joomla implements the basic functionality in the JController class.


Visibility Method name Description
public __construct Constructor.
public addViewPath Add one or more view paths to the controller's stack, in LIFO order.
public authorise Authorisation check.
public authorize Authorisation check.
public display Typical view method for MVC based architecture.
public execute Execute a task by triggering a method in the derived class.
public getModel Method to get a model object, loading it if required.
public getName Method to get the controller name.
public getTask Get the last task that is being performed or was most recently performed.
public getTasks Gets the available tasks in the controller.
public getView Method to get a reference to the current view and load it if necessary.
public redirect Redirects the browser or returns false if no redirect is set.
public registerDefaultTask Register the default task to perform if a mapping is not found.
public registerTask Register (map) a task to a method in the class.
public setAccessControl Sets the access control levels.
public setMessage Sets the internal message that is passed with a redirect.
public setRedirect Set a URL for browser redirection.
public static addModelPath Adds to the stack of model paths in LIFO order.
public static getInstance Method to get a singleton controller instance.
protected addPath Adds to the search path for templates and resources.
protected checkEditId Method to check whether an ID is in the edit list.
protected createModel Method to load and return a model object.
protected createView Method to load and return a view object.
protected holdEditId Method to add a record ID to the edit list.
protected releaseEditId Method to check whether an ID is in the edit list.
protected setPath Sets an entire array of search paths for resources.
protected static createFileName Create the filename for a resource.


jimport( 'joomla.application.component.controller' );

See also[edit]

User contributed notes[edit]

Code Examples[edit]