bin/swoftから、Swoftフレームワークのソースコード(二)--Applicationのrunメソッドを読みます.
アプリケーションの初期化が完了した後、run.本章ではrunメソッドから始め,後続の呼び出しに徐々に深く入り込む.
まずrunのコードを見てみましょう.
内容は簡潔で、すべての論理は現在のオブジェクトのprocessorに任せて処理する.プロセスのコード:
次の章から、呼び出し順に、各章に1つのプロセッサについて説明する.
まずrunのコードを見てみましょう.
public function run(): void
{
try {
if (!$this->beforeRun()) {
return;
}
$this->processor->handle();
} catch (Throwable $e) {
// ,
Console::colored(sprintf('%s(code:%d) %s', get_class($e), $e->getCode(), $e->getMessage()), 'red');
Console::colored('Code Trace:', 'comment');
echo $e->getTraceAsString(), "n";
}
}
内容は簡潔で、すべての論理は現在のオブジェクトのprocessorに任せて処理する.プロセスのコード:
public function handle(): bool
{
// ,
$disabled = $this->application->getDisabledProcessors();
// $this->processors handle
// $this->processors 6
// , :
// Swoft\Processor\EnvProcessor
// Swoft\Processor\ConfigProcessor
// Swoft\Processor\AnnotationProcessor
// Swoft\Processor\BeanProcessor
// Swoft\Processor\EventProcessor
// Swoft\Processor\ConsoleProcessor
foreach ($this->processors as $processor) {
$class = get_class($processor);
// If is disabled, skip handle.
if (isset($disabled[$class])) {
continue;
}
$processor->handle();
}
return true;
}
次の章から、呼び出し順に、各章に1つのプロセッサについて説明する.