通常のテキスト出力
できるようにしてみる。アクションクラスでMoony_Response::outを実行すればOK。関数名を"output"と迷ったけれど、短く"out"にすることに。
実装例は以下のとおり:
class FooAction extends Moony_Action { function execute($request, $response) { // 2番目の引数で出力エンコーディングが指定可能 // 指定しない場合は内部エンコーディングで出力(MOONY_INTERNAL_ENCODING) $response->out('出力したいテキスト'); $response->out('出力したいテキスト', 'SJIS'); } }
渡された文字列はMoony_Responseのインスタンス内でバッファリングして、execute処理終了後、コントローラ内でまとめてecho。HTTPヘッダが送出されていない場合、明示的に"Content-Type: text/plain"を送出する。Moony_Response::outで出力文字列が設定された場合、テンプレートのレンダリングは行われない。テキスト出力のみを行って、アクションは終了。
うまく使えばAjax対応できるかも…。