Nov 19

rhaco2メモ(2)


エントリポイントの処理をxmlで書く


<?php require dirname(__FILE__)."/__settings__.php"; app(); ?>
<app>
<class_module class="Log" module="org.rhaco.io.log.LogFile" />
<handler>
<map url="" class="hoge" method="fuga" template="index.html" />
<map url="rss" class="hoge" method="rss" />
</handler>
</app>

という感じ。1行目は必須。<app>タグで囲ったとこにアプリの設定を書く(app複数は2009/11/19現在使えないっぽい)。
<class>タグは使用するモジュールを定義する?追加することで色んな機能をプラグインっぽく使えるみたい


rhaco2のinvokeについて。


org.rhaco.sample.invokeをインストールすると分るっぽい
インストールした時のエントリポイント(index.php)はこんな感じ
<?php require dirname(__FILE__)."/__settings__.php"; app(); ?>
<app name="feed reader" summary="sample">
	<invoke class="org.rhaco.net.xml.Feed" method="do_read">
		<arg value="誰かのrss" />
		<arg value="誰かのrss2" />
	</invoke>
	<invoke class="org.rhaco.net.xml.FeedConverter" method="strip_tags" />
	<invoke method="output" />
</app>

index.phpにアクセスしたらFeed::do_read→FeedConverter::strip_tags→Atom::output
が行われる。classに指定されない場合、返り値のメソッドが実行されるみたい。

で、irc抜粋
shigepon:rhaco2のinvokeってconveyor? 
tokushima:invokeでconveyorは実現できる
shigepon:invokeはクラスが指定してなかったら、返り値のオブジェクトのメソッドを実行するの?
tokushima:conveyorと違って引数がRssのみじゃないので
tokushima:よりautometorです


Rssに縛られないのは魅力だな~!

| comment(0)