Naify\Router\RequestContextHandlerInterface インターフェース

コントローラハンドラインターフェース — MVC ディスパッチャー契約

RouteDispatcher からディスパッチされるコントローラが実装すべき契約。 PSR-15 の RequestHandlerInterface とは異なり、 RequestContext とアクション名を受け取る Naify 独自のインターフェース。

戻り値は void。Context が Response の真実を保持する。 ResponseContext 導入後は $context->response->setXxx() で操作し、 PSR の Response は FW が $context->getPsrResponse() で取得する。

使用例

class MyController implements RequestContextHandlerInterface {
    public function handle(RequestContext $context, ?string $action): void {
        $action ??= ($context->getUrlParam('action') ?? 'index') . 'Action';
        $this->{$action}();
    }
}

メソッド

メソッド説明
public handle(RequestContext $context, ?string $action): void リクエストを処理する