Yii2 SiteController.php中的函数行为是什么?

Yii2 SiteController.php中的函数行为是什么?,yii2,yii2-basic-app,Yii2,Yii2 Basic App,我是从yii2开始的 我不知道以前版本的YII 但我对codeigniter有很好的了解,并且在过去3年中一直在codeigniter工作 我的问题如下: SiteController.php文件中有一个函数名behaviors()。 它有以下代码。我想知道它能做什么 public function behaviors() { return [ 'access' => [ 'class' => AccessCon

我是从yii2开始的 我不知道以前版本的YII 但我对codeigniter有很好的了解,并且在过去3年中一直在codeigniter工作

我的问题如下:

SiteController.php文件中有一个函数名
behaviors()
。 它有以下代码。我想知道它能做什么

public function behaviors() {
        return [
            'access' => [
                'class' => AccessControl::className(),
                'only' => ['logout'],
                'rules' => [
                    [
                        'actions' => ['logout'],
                        'allow' => true,
                        'roles' => ['@'],
                    ],
                ],
            ],
            'verbs' => [
                'class' => VerbFilter::className(),
                'actions' => [
                    'logout' => ['post'],
                ],
            ],
        ];
    }

在你所提供的样品中有两部分

'access' 

访问部分配置访问控制筛选器规则
Yii2实现的授权方法之一(最好由只需要一些简单访问控制的应用程序使用)

及 为每个操作定义允许的HTTP请求方法。VerbFilter检查请求的操作是否允许HTTP请求方法。如果不允许,它将抛出HTTP 405异常。 在您的案例中,设置注销操作必须通过post方法执行

有关简要指南,请参见

'public function behaviors(){return['access'=>['class'=>AccessControl::className(),'only'=>['logout'],'rules'=>['actions'=>['logout'],'allow'=>true','roles'=>['@'],],],'verbs'=>['class'=>VerbFilter::className(),'actions'=>['logout'=>['post'],],],];'0'和
'verbs'