Yii2学习

独立动作 

如果动作足够通用,把它实现在一个单独类中有助于代码复用。创建 actions/Page.php

namespace app\actions;

class
Page extends \yii\base\Action
{
public
$view = 'index';

public function
run()
{
return
$this->controller->render($this->view);
}
}

下面的代码偏简单,不过还是可以说明独立动作是如何工作的。独立动作可以在控制器中使用如下:

class SiteController extends \yii\web\Controller
{
public function
actions()
{
return [
'about' => [
'class' => 'app\actions\Page',
'view' => 'about',
],
];
}
}

接下来你就可以通过URL http://example.com/?r=site/about 来访问这个动作。




捕获所有请求 

有时候需要在单个控制器动作中处理所有请求。比如当网站处于维护状态时显示一个提示信息。要这样做,你应该动态的或者通过应用程序配置来设置web应用的 catchAll 属性:

return [
'id' => 'basic',
'basePath' => dirname(__DIR__),
// ...
'catchAll' => [ // <-- here
'offline/notice',
'param1' => 'value1',
'param2' => 'value2',
],
]

上述代码中的 offline/notice 指向 OfflineController::actionNotice() param1  param2是传入动作方法的参数。

param1 和param2暂时没获取到

猜你喜欢

转载自blog.csdn.net/wade1010/article/details/79372639
今日推荐