Craft 3 Class Reference

Class craft\controllers\AppController

Inheritance
craft\controllers\AppController » craft\web\Controller » yii\web\Controller » yii\base\Controller » yii\base\Component » yii\base\BaseObject
Implements
yii\base\Configurable, yii\base\ViewContextInterface
Available since version
3.0
Source Code
https://github.com/craftcms/cms/blob/master/src/controllers/AppController.php

The AppController class is a controller that handles various actions for Craft updates, control panel requests, upgrading Craft editions and license requests.

Note that all actions in the controller require an authenticated Craft session via $allowAnonymous.

Public Properties
Property Type Description Defined By
$action yii\base\Action The action that is currently being executed. yii\base\Controller
$actionParams array The parameters bound to the current action. yii\web\Controller
$allowAnonymous boolean, string[] Whether this controller’s actions can be accessed anonymously If set to false, you are required to be logged in to execute any of the given controller's actions. craft\controllers\AppController
$defaultAction string The ID of the action that is used when the action ID is not specified in the request. yii\base\Controller
$enableCsrfValidation boolean Whether to enable CSRF validation for the actions in this controller. yii\web\Controller
$id string The ID of this controller. yii\base\Controller
$layout null, string, false The name of the layout to be applied to this controller's views. yii\base\Controller
$module yii\base\Module The module that this controller belongs to. yii\base\Controller
Public Methods
Method Description Defined By
__call() Calls the named method which is not a class method. yii\base\BaseObject
__clone() This method is called after the object is created by cloning an existing one. yii\base\Component
__construct() Constructor. yii\base\BaseObject
__get() Returns the value of an object property. yii\base\BaseObject
__isset() Checks if a property is set, i.e. defined and not null. yii\base\BaseObject
__set() Sets value of an object property. yii\base\BaseObject
__unset() Sets an object property to null. yii\base\BaseObject
actionCheckForUpdates() Returns update info. craft\controllers\AppController
actionGetCouponPrice() Returns the price of an upgrade with a coupon applied to it. craft\controllers\AppController
actionGetCpAlerts() Loads any CP alerts. craft\controllers\AppController
actionGetUpgradeModal() Returns the edition upgrade modal. craft\controllers\AppController
actionGetUtilitiesBadgeCount() Returns the badge count for the Utilities nav item. craft\controllers\AppController
actionMigrate() Creates a DB backup (if configured to do so) and runs any pending Craft, plugin, & content migrations in one go. craft\controllers\AppController
actionPurchaseUpgrade() Passes along a given CC token to Elliott to purchase a Craft edition. craft\controllers\AppController
actionShunCpAlert() Shuns a CP alert for 24 hours. craft\controllers\AppController
actionSwitchToLicensedEdition() Switches Craft to the edition it's licensed for. craft\controllers\AppController
actionTestUpgrade() Tries a Craft edition on for size. craft\controllers\AppController
actions() Declares external actions for the controller. yii\base\Controller
afterAction() This method is invoked right after an action is executed. yii\base\Controller
asErrorJson() Responds to the request with a JSON error message. craft\web\Controller
asJson() Send data formatted as JSON. yii\web\Controller
asJsonP() Sets the response format of the given data as JSONP. craft\web\Controller
asRaw() Sets the response format of the given data as RAW. craft\web\Controller
asXml() Send data formatted as XML. yii\web\Controller
attachBehavior() Attaches a behavior to this component. yii\base\Component
attachBehaviors() Attaches a list of behaviors to the component. yii\base\Component
beforeAction() craft\controllers\AppController
behaviors() Returns a list of behaviors that this component should behave as. yii\base\Component
bindActionParams() Binds the parameters to the action. yii\base\Controller
canGetProperty() Returns a value indicating whether a property can be read. yii\base\BaseObject
canSetProperty() Returns a value indicating whether a property can be set. yii\base\BaseObject
className() Returns the fully qualified name of this class. yii\base\BaseObject
createAction() Creates an action based on the given action ID. yii\base\Controller
detachBehavior() Detaches a behavior from the component. yii\base\Component
detachBehaviors() Detaches all behaviors from the component. yii\base\Component
ensureBehaviors() Makes sure that the behaviors declared in behaviors() are attached to this component. yii\base\Component
findLayoutFile() Finds the applicable layout file. yii\base\Controller
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getModules() Returns all ancestor modules of this controller. yii\base\Controller
getRoute() Returns the route of the current request. yii\base\Controller
getUniqueId() Returns the unique ID of the controller. yii\base\Controller
getView() Returns the view object that can be used to render views or view files. yii\base\Controller
getViewPath() yii\base\ViewContextInterface
goBack() Redirects the browser to the last visited page. yii\web\Controller
goHome() Redirects the browser to the home page. yii\web\Controller
hasEventHandlers() Returns a value indicating whether there is any handler attached to the named event. yii\base\Component
hasMethod() Returns a value indicating whether a method is defined. yii\base\BaseObject
hasProperty() Returns a value indicating whether a property is defined. yii\base\BaseObject
init() Initializes the object. yii\base\BaseObject
off() Detaches an existing event handler from this component. yii\base\Component
on() Attaches an event handler to an event. yii\base\Component
redirect() Redirects the browser to the specified URL. craft\web\Controller
redirectToPostedUrl() Redirects to the URI specified in the POST. craft\web\Controller
refresh() Refreshes the current page. yii\web\Controller
render() Renders a view and applies layout if available. yii\base\Controller
renderAjax() Renders a view in response to an AJAX request. yii\web\Controller
renderContent() Renders a static string by applying a layout. yii\base\Controller
renderFile() Renders a view file. yii\base\Controller
renderPartial() Renders a view without applying layout. yii\base\Controller
renderTemplate() Renders a template. craft\web\Controller
requireAcceptsJson() Throws a 400 error if the request doesn't accept JSON. craft\web\Controller
requireAdmin() Throws a 403 error if the current user is not an admin. craft\web\Controller
requireAuthorization() Checks whether the current user can perform a given action, and ends the request with a 403 error if they don’t. craft\web\Controller
requireElevatedSession() Requires that the user has an elevated session. craft\web\Controller
requireLogin() Redirects the user to the login template if they're not logged in. craft\web\Controller
requirePermission() Checks whether the current user has a given permission, and ends the request with a 403 error if they don’t. craft\web\Controller
requirePostRequest() Throws a 400 error if this isn’t a POST request craft\web\Controller
requireToken() Throws a 400 error if the current request doesn’t have a valid token. craft\web\Controller
run() Runs a request specified in terms of a route. yii\base\Controller
runAction() Runs an action within this controller with the specified action ID and parameters. craft\web\Controller
setView() Sets the view object to be used by this controller. yii\base\Controller
setViewPath() Sets the directory that contains the view files. yii\base\Controller
trigger() Triggers an event. yii\base\Component
Events
Event Type Description Defined By
EVENT_AFTER_ACTION yii\base\ActionEvent An event raised right after executing a controller action. yii\base\Controller
EVENT_BEFORE_ACTION yii\base\ActionEvent An event raised right before executing a controller action. yii\base\Controller

Property Details

$allowAnonymous public property #

Whether this controller’s actions can be accessed anonymously If set to false, you are required to be logged in to execute any of the given controller's actions. If set to true, anonymous access is allowed for all of the given controller's actions. If the value is an array of action IDs, then you must be logged in for any actions except for the ones in the array list. If you have a controller that where the majority of actions allow anonymous access, but you only want require login on a few, you can set this to true and call requireLogin() in the individual methods.

public boolean, string[] $allowAnonymous = ['migrate']

Method Details

actionCheckForUpdates() public method #

Returns update info.

public yii\web\Response actionCheckForUpdates ( )
throws yii\web\BadRequestHttpException if the request doesn't accept a JSON response
throws yii\web\ForbiddenHttpException if the user doesn't have permission to perform updates or use the Updates utility

actionGetCouponPrice() public method #

Returns the price of an upgrade with a coupon applied to it.

public yii\web\Response actionGetCouponPrice ( )

actionGetCpAlerts() public method #

Loads any CP alerts.

public yii\web\Response actionGetCpAlerts ( )

actionGetUpgradeModal() public method #

Returns the edition upgrade modal.

public yii\web\Response actionGetUpgradeModal ( )

actionGetUtilitiesBadgeCount() public method #

Returns the badge count for the Utilities nav item.

public yii\web\Response actionGetUtilitiesBadgeCount ( )

actionMigrate() public method #

Creates a DB backup (if configured to do so) and runs any pending Craft, plugin, & content migrations in one go.

This action can be used as a post-deploy webhook with site deployment services (like DeployBot) to minimize site downtime after a deployment.

public void actionMigrate ( )
throws \Http\Client\Common\Exception\ServerErrorException if something went wrong

actionPurchaseUpgrade() public method #

Passes along a given CC token to Elliott to purchase a Craft edition.

public yii\web\Response actionPurchaseUpgrade ( )

actionShunCpAlert() public method #

Shuns a CP alert for 24 hours.

public yii\web\Response actionShunCpAlert ( )

actionSwitchToLicensedEdition() public method #

Switches Craft to the edition it's licensed for.

public yii\web\Response actionSwitchToLicensedEdition ( )

actionTestUpgrade() public method #

Tries a Craft edition on for size.

public yii\web\Response actionTestUpgrade ( )
throws yii\web\BadRequestHttpException if Craft isn’t allowed to test edition upgrades

beforeAction() public method #

public void beforeAction ( $action )
$action