您的位置:首页 > 理论基础 > 计算机网络

Yii 控制器学习——内容摘自http://www.yiichina.com/中文官网

2017-04-21 10:48 399 查看
创建操作
~操作方法必须是以
action
开头的公有方法
~操作方法的返回值会作为响应数据发送给终端用户
操作ID
~操作通常是用来执行资源的特定操作,因此, 操作ID通常为动词,如
view
update
等~操作ID应仅包含英文小写字母、数字、下划线和中横杠,操作ID中的中横杠用来分隔单词~可通过两种方式创建操作ID,内联操作和独立操作~内联操作容易创建,在无需重用的情况下优先使用; 独立操作相反,主要用于多个控制器重用, 或重构为扩展
操作方法内联操作方法的名字是根据操作ID遵循如下规则衍生:将每个单词的第一个字母转为大写;
去掉中横杠;
增加
action
前缀.
例如
index
 转成 
actionIndex
hello-world
 转成 
actionHelloWorld
。attention:方法名字大小写敏感,而且方法必须是为公有方法,否则不能定义为内联操作。
独立操作:如果你计划在不同地方重用相同的操作, 或者你想重新分配一个操作,需要考虑定义它为独立操作。

独立操作通过继承yii\base\Action或它的子类来定义

通过控制器中覆盖yii\base\Controller::actions()方法在action map中申明创建一个独立操作类,需要继承yii\base\Action 或它的子类,并实现公有的名称为
run()
的方法, 
run()
 方法的角色和操作方法类似
操作结果操作方法或独立操作的
run()
方法的返回值非常重要, 它表示对应操作结果。返回值可作为响应对象,作为响应发送给终端用户
操作参数对于yii\web\Application网页应用, 每个操作参数的值从
$_GET
中获得,参数名作为键如果想让操作参数接收数组值,需要指定$id为
array
,如下所示:
public function actionView(array $id, $version = null)
{
// ...
}

修改默认操作[/b]默认操作默认为 
index
,如果想修改默认操作, 只需简单地在控制器类中覆盖这个属性,如下所示:
namespace app\controllers;

use yii\web\Controller;

class SiteController extends Controller
{
public $defaultAction = 'home';

public function actionHome()
{
return $this->render('home');
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐