mirror of
				https://github.com/yiisoft/yii2.git
				synced 2025-10-30 18:17:00 +08:00 
			
		
		
		
	 e6f5c46cdc
			
		
	
	e6f5c46cdc
	
	
	
		
			
			- Deprecated `yii\base\BaseObject::className()` in favor of native PHP syntax `::class`, which does not trigger autoloading - Deprecated XCache and Zend data cache support as caching backends - Deprecated `yii\BaseYii::powered()` method - Added `yii\base\InvalidArgumentException` and deprecated `yii\base\InvalidParamException` - Added `yii\BaseYii::debug()` and deprecated `yii\BaseYii::trace()`
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * @link http://www.yiiframework.com/
 | |
|  * @copyright Copyright (c) 2008 Yii Software LLC
 | |
|  * @license http://www.yiiframework.com/license/
 | |
|  */
 | |
| 
 | |
| namespace yii\base;
 | |
| 
 | |
| use Yii;
 | |
| 
 | |
| /**
 | |
|  * InlineAction represents an action that is defined as a controller method.
 | |
|  *
 | |
|  * The name of the controller method is available via [[actionMethod]] which
 | |
|  * is set by the [[controller]] who creates this action.
 | |
|  *
 | |
|  * For more details and usage information on InlineAction, see the [guide article on actions](guide:structure-controllers).
 | |
|  *
 | |
|  * @author Qiang Xue <qiang.xue@gmail.com>
 | |
|  * @since 2.0
 | |
|  */
 | |
| class InlineAction extends Action
 | |
| {
 | |
|     /**
 | |
|      * @var string the controller method that this inline action is associated with
 | |
|      */
 | |
|     public $actionMethod;
 | |
| 
 | |
| 
 | |
|     /**
 | |
|      * @param string $id the ID of this action
 | |
|      * @param Controller $controller the controller that owns this action
 | |
|      * @param string $actionMethod the controller method that this inline action is associated with
 | |
|      * @param array $config name-value pairs that will be used to initialize the object properties
 | |
|      */
 | |
|     public function __construct($id, $controller, $actionMethod, $config = [])
 | |
|     {
 | |
|         $this->actionMethod = $actionMethod;
 | |
|         parent::__construct($id, $controller, $config);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Runs this action with the specified parameters.
 | |
|      * This method is mainly invoked by the controller.
 | |
|      * @param array $params action parameters
 | |
|      * @return mixed the result of the action
 | |
|      */
 | |
|     public function runWithParams($params)
 | |
|     {
 | |
|         $args = $this->controller->bindActionParams($this, $params);
 | |
|         Yii::debug('Running action: ' . get_class($this->controller) . '::' . $this->actionMethod . '()', __METHOD__);
 | |
|         if (Yii::$app->requestedParams === null) {
 | |
|             Yii::$app->requestedParams = $args;
 | |
|         }
 | |
| 
 | |
|         return call_user_func_array([$this->controller, $this->actionMethod], $args);
 | |
|     }
 | |
| }
 |