Class yii\rest\Controller
| Inheritance | yii\rest\Controller » yii\web\Controller » yii\base\Controller » yii\base\Component » yii\base\BaseObject |
|---|---|
| Implements | yii\base\Configurable, yii\base\ViewContextInterface |
| Subclasses | yii\rest\ActiveController |
| Available since version | 2.0 |
| Source Code | https://github.com/yiisoft/yii2/blob/master/framework/rest/Controller.php |
Controller is the base class for RESTful API controller classes.
Controller implements the following steps in a RESTful API request handling cycle:
- Resolving response format (see yii\filters\ContentNegotiator);
- Validating request method (see verbs()).
- Authenticating user (see yii\filters\auth\AuthInterface);
- Rate limiting (see yii\filters\RateLimiter);
- Formatting response data (see serializeData()).
For more details and usage information on Controller, see the guide article on rest controllers.
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 |
| $behaviors | yii\base\Behavior[] | List of behaviors attached to this component | yii\base\Component |
| $defaultAction | string | The ID of the action that is used when the action ID is not specified in the request. | yii\base\Controller |
| $enableCsrfValidation | {@inheritdoc} | yii\rest\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 |
| $modules | yii\base\Module[] | All ancestor modules that this controller is located within. | yii\base\Controller |
| $route | string | The route (module ID, controller ID and action ID) of the current request. | yii\base\Controller |
| $serializer | string|array | The configuration for creating the serializer that formats the response data. | yii\rest\Controller |
| $uniqueId | string | The controller ID that is prefixed with the module ID (if any). | yii\base\Controller |
| $view | yii\base\View|yii\web\View | The view object that can be used to render views or view files. | yii\base\Controller |
| $viewPath | string | The directory containing the view files for this controller. | yii\base\Controller |
Public Methods
| Method | Description | Defined By |
|---|---|---|
| __call() | Calls the named method which is not a class method. | yii\base\Component |
| __clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component |
| __construct() | yii\base\Controller | |
| __get() | Returns the value of a component property. | yii\base\Component |
| __isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component |
| __set() | Sets the value of a component property. | yii\base\Component |
| __unset() | Sets a component property to be null. | yii\base\Component |
| actions() | Declares external actions for the controller. | yii\base\Controller |
| afterAction() | {@inheritdoc} | yii\rest\Controller |
| asJson() | Send data formatted as JSON. | yii\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() | This method is invoked right before an action is executed. | yii\base\Controller |
| behaviors() | {@inheritdoc} | yii\rest\Controller |
| bindActionParams() | Binds the parameters to the action. | yii\base\Controller |
| canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component |
| canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component |
| 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() | Returns the directory containing view files for this controller. | yii\base\Controller |
| 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\Component |
| hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component |
| 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. | yii\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 |
| 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. | yii\base\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 |
Protected Methods
| Method | Description | Defined By |
|---|---|---|
| serializeData() | Serializes the specified data. | yii\rest\Controller |
| verbs() | Declares the allowed HTTP verbs. | yii\rest\Controller |
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
Method Details
{@inheritdoc}
| public void afterAction ( $action, $result ) | ||
| $action | ||
| $result | ||
{@inheritdoc}
| public void behaviors ( ) |
Serializes the specified data.
The default implementation will create a serializer based on the configuration given by $serializer. It then uses the serializer to serialize the given data.
| protected mixed serializeData ( $data ) | ||
| $data | mixed | The data to be serialized |
| return | mixed | The serialized data. |
|---|---|---|
Declares the allowed HTTP verbs.
Please refer to yii\filters\VerbFilter::$actions on how to declare the allowed verbs.
| protected array verbs ( ) | ||
| return | array | The allowed HTTP verbs. |
|---|---|---|
Signup or Login in order to comment.