— y2sunlight 2020-05-08
関連記事
レスポンスクラスが実装できたので、次にコントローラのベースクラスを作成します。
コントローラのアクションメソッドはアプリケーションの中核です。アクションの周辺にはミドルウェアなどの様々な前後処理が行われるので、直接アクションを呼び出すことは止めて間接的に呼び出す事を考えます。
アクションの間接呼び出しを実装した全てのコントローラのベースとなるクラスを以下に示します。
/apricot/core/Foundation
<?php namespace Core\Foundation; /** * Request Controller Class (Controller Base) */ class BaseController { /** * Call real Action * @param string $actionName * @param array $params * @return \Core\Foundation\Response */ protected function callAction($actionName, $params) { return call_user_func_array(array($this, $actionName), $params); } /** * Invoke Action * @param string $actionName * @param array $params * @return \Core\Foundation\Response */ public function invokeAction($actionName, $params) { // Call Action return $this->callAction($actionName, $params); } }