Commit 43b8430e by Qiang Xue

improvement of Application::end() handling.

parent c40ae859
...@@ -199,8 +199,6 @@ abstract class Application extends Module ...@@ -199,8 +199,6 @@ abstract class Application extends Module
$this->registerErrorHandlers(); $this->registerErrorHandlers();
Component::__construct($config); Component::__construct($config);
$this->state = self::STATE_INIT;
} }
/** /**
...@@ -260,6 +258,8 @@ abstract class Application extends Module ...@@ -260,6 +258,8 @@ abstract class Application extends Module
*/ */
public function init() public function init()
{ {
$this->state = self::STATE_INIT;
$this->initExtensions($this->extensions); $this->initExtensions($this->extensions);
foreach ($this->bootstrap as $class) { foreach ($this->bootstrap as $class) {
/** @var BootstrapInterface $bootstrap */ /** @var BootstrapInterface $bootstrap */
...@@ -346,6 +346,8 @@ abstract class Application extends Module ...@@ -346,6 +346,8 @@ abstract class Application extends Module
*/ */
public function run() public function run()
{ {
try {
$this->state = self::STATE_BEFORE_REQUEST; $this->state = self::STATE_BEFORE_REQUEST;
$this->trigger(self::EVENT_BEFORE_REQUEST); $this->trigger(self::EVENT_BEFORE_REQUEST);
...@@ -361,6 +363,13 @@ abstract class Application extends Module ...@@ -361,6 +363,13 @@ abstract class Application extends Module
$this->state = self::STATE_END; $this->state = self::STATE_END;
return $response->exitStatus; return $response->exitStatus;
} catch (ExitException $e) {
$this->end($e->statusCode, isset($response) ? $response : null);
return $e->statusCode;
}
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment