src/Routes/Controller.php
public function beforeAction($actionId)
    {
        $isValid = true;
        $this->emit(self::EVENT_BEFORE_ACTION, [&$this, $actionId, &$isValid]);
        return $isValid;
    }
public function beforeAction($actionId)
    {
        $isValid = true;
        $this->emit(self::EVENT_BEFORE_ACTION, [&$this, $actionId, &$isValid]);
        return $isValid;
    }
This method is invoked right before an action is executed.

The method will trigger the [[EVENT_BEFORE_ACTION]] event. The return value of the method
will determine whether the action should continue to run.

In case the action should not run, the request should be handled inside of the `beforeAction` code
by either providing the necessary output or redirecting the request. Otherwise the response will be empty.

If you override this method, your code should look like the following:

```php
public function beforeAction($action)
{
// your custom code here, if you want the code to run before action filters,
// which are triggered on the [[EVENT_BEFORE_ACTION]] event, e.g. PageCache or AccessControl

if (!parent::beforeAction($action)) {
return false;
}

// other custom code here

return true; // or false to not run the action
}
```

@param string $actionId the action to be executed.
@return bool whether the action should continue to run.