一、getUniqueId方法,返回唯一的标识模块的id
// 返回唯一的标识模块的id
public function getUniqueId()
{
return '';
}
二、setBasePath方法,设置应用根目录和@app别名
/**
* 设置应用根目录和@app别名
*/
public function setBasePath($path)
{
parent::setBasePath($path);
Yii::setAlias('@app', $this->getBasePath());
}
三、run方法,运行应用的入口
1.请求处理前
2.请求处理中
3.请求处理后
4.发送响应
5.请求结束,返回退出状态码
/**
* 运行应用的入口
* 1.请求处理前
* 2.请求处理中
* 3.请求处理后
* 4.发送响应
* 5.请求结束,返回退出状态码
*/
public function run()
{
try {
//请求处理前
$this->state = self::STATE_BEFORE_REQUEST;
$this->trigger(self::EVENT_BEFORE_REQUEST);
//请求处理中
$this->state = self::STATE_HANDLING_REQUEST;
$response = $this->handleRequest($this->getRequest());
//请求处理后
$this->state = self::STATE_AFTER_REQUEST;
$this->trigger(self::EVENT_AFTER_REQUEST);
//发送响应
$this->state = self::STATE_SENDING_RESPONSE;
$response->send();
//请求结束,返回退出状态码
$this->state = self::STATE_END;
return $response->exitStatus;
} catch (ExitException $e) {
//响应异常信息,返回退出状态码
$this->end($e->statusCode, isset($response) ? $response : null);
return $e->statusCode;
}
}
四、handleRequest方法,这个方法是一个抽象方法,需要返回一个Response对象
/**
* 处理请求,返回一个Response实例
*/
abstract public function handleRequest($request);