home Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)

日記/2007/07/29/Xhwlayメモ

作成日: 2007-07-29 00:11:26   /   last updated at: 2008-12-23 00:13:37
カテゴリ: Xhwlay 

Partial Bookmark 機能、見送り・・・。

現状のConfigのneedsBookmark()のIFはこうなっている。

function needsBookmark($page = null, $aci = "*")

で、$pageが省略された場合はStory全体のBookmark ON/OFFを取得し、$pageが指定された場合はページ単位のBookmark ON/OFFを取得できるようになっている。

が。実際のそのテストケースを作ろうとして。

・・・これ、要らなくね?

現実問題として、一つのStoryの中にBookmark ON/OFFが混ざることはあり得るのか?例えXhwlay側でサポートするとしても、本当にそんなStoryを作る場面があるのか?当初予定としては、例えばヘルプ画面ポップアップのようなものを想定していたが、それにしたってBookmarkOFFのヘルプ画面専用のstoryを作るのが普通じゃないか?

何よりも、BookmarkON/OFFの混ざったStoryって、激しくメンテナンス性が悪くないか?絶対に、あとあとFlowが追えなくなる。

というわけで、Xhwlay_Runnerレベルではもう、ページ単位のBookmark ON/OFFはサポートしない。どうしてもやりたければ、Xhwaly_Runnerをextendsして、コアを好きなように書き換えて下さい。という感じ。
まあ、Config側のIFは変更しない。Configの機能としては、純粋にまあ、あっても良いかなという感じなので。

そんなところ。

Xhwlay_Runner_Test、とりあえず終了。

そしてようやく、な感じ。PartialBookmarkの見送りに助けられた。

小さな変更点として、Page/Event/Barrier/Guardの各種callbackを取得する為の _getCallback($params) 内で、

define('XHWLAY_RUNNER_HOOK_CLASSLOAD', "xhwlay_runner_classload");

で定義されるHOOKを呼ぶよう、修正した。Testには盛りこみ済。

一応現状は、デフォルトの _getCallback()は

"user_function" > "class" & "method"

の優先度でcallbackの有効性を判断している。classloadのHookを仕込むことにより、これらのパラメータに応じて動的にファイルをrequireできるようになる。

まあ、PokoXにあった

$POKOX_MODULE_AUTOLOAD_PATH

を好き勝手に実装してもらう為のマージン。
最近はPEAR形式のクラス名やディレクトリ構造を取ったりもするので、環境によって変わるだろうし・・・。

さて、これでベースコアは一応まとまった。普通のsessionベースでのサンプルと、ログイン/ログアウト込みのサンプルの準備に取りかかろう。
sessionを使わないのは・・・まあ、一応準備するか・・・。多分、あり得ないんだけど。だってBCID(Bookmark Container ID)自身がsessionIDになってしまうから。そうなると。・・・まあ、それはそれで無理矢理Cookie経由でやりとりさせて・・・って、それじゃsessionを使ってるのと変わらないし。

original url: https://www.glamenv-septzen.net/view/68