May 16

逆引きrhaco29: かっこいいURL(?)を使う(その3:同ファイル内の関数を呼ぶ)

この方法は

クラスを作るほどでもない。
全部1ファイルにおさめたい

などの場合に使える方法です。

<?php
require_once("./__init__.php");
Rhaco::import("generic.Urls");
Rhaco::import("generic.Flow");
Rhaco::import("abbr.F");
$pattern = array("^hoge\/?$"=>array("method"=>"hoge"));
$parser = Urls::parser($pattern);
$parser->write();
function hoge(){
  $flow = new Flow();
//何か処理をする
  $flow->setTemplate(F::path(Rhaco::constant("TEMPLATE_PATH"),"hoge.html"));
  return $flow->parser();
}
?>


呼ばれた関数はパーサを返す必要があるので(通常はHtmlParserを返すことになります)、$flow->parse()でHtmlParserを返しています。Viewsでも同じようにできます。
HtmlParserそのものをnewして返しても良いですが、実際使う時はFlowかViewsを使うことが多いと思います。

| comment(0)

このエントリーのはてなブックマーク (-)