要件定義の不安をなくす。要件定義の不安をなくす。ユニファのバックエンド分割に学ぶイノベーションメタバース開発に必要な技術の基本知識をおさらい。Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。KB)本連載では、Perlで実装されたWebアプリケーションフレームワークであるCatalystについて、基本的な仕組みや実装方法などをサンプルを交えて紹介していきます。第5回目の今回は、コントローラ編の最後として、アクションから別のアクションを呼び出すフロー制御と、第3回で紹介したChainedアクションについて、サンプルを交えて説明します。5Chainedアクションのサンプルまとめ参考資料はじめに前回では、主にリクエストパラメータの扱い方について説明しました。クライアントからデータを受け取る方法には、リクエストパラメータ以外にもパスに含める方法がありますが、特に日本語文字列を扱う場合には内部で扱う文字コードとクライアントとやりとりする文字コードをよく考えて設計する必要があります。本記事では、これまで2回に渡って説明してきたコントローラ編の最後として、アクションから別のアクションを呼び出すフロー制御について説明します。第3回で簡単に紹介したChainedアクションについてもサンプルを交えて説明していきます。本連載で紹介するサンプルなどで実行している環境は次の通りです。5.80013また、動作確認を行ったWindowsの環境は次の通りです。5.80011フロー制御アプリケーションで共通する処理などをメソッドとして定義することもできますが、プライベートアクションとして定義した場合には、forwardなどのフロー制御用メソッドを利用して呼び出すことができます。これらのメソッドはCatalystで定義されており、forward以外に、detach、visit、goがあります。forwardを使用してアクションを呼び出すようにすると、コンテキストが自動的に渡される、例外処理ができるようになる、などのメリットがあります。フロー制御用メソッドには次のものがあります。begin、autoを含めて指定したアクションを実行するが、呼び出し元には戻らないforward/detach/visit/goの処理の流れforward、detachメソッドでは指定したアクションだけが実行されますが、visit、goメソッドでは、beginやautoなどの組み込みアクションも(定義されていれば)含めて、新規リクエストであるかのように実行されます。NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。