fuelphpでドキュメントパーサを使おう!! | YamlとかMarkdownとか
なんかさ公式ドキュメントにも、のってないみたいだしさ。 なんでなんだろうね。
fuelphpのドキュメントパーサ機能
fuelphpのドキュメントパーサ周りの機能は非常に秀逸。知らない人も多いかもしれないけど,あのConfigファイルってのはPHPの配列、だけに限らず,XMLからJSON,YAML,INI形式でかける。書けるし読めるし変更できるってあたりがかなりクール。そんなクールな機能が,なんでかしらんけどConfigファイル向けにしか提供されていないのはなんか納得いかないんだけど(汎用的に使えるように公開しといて欲しかった…)、まぁとりあえずそういう機能が有るわけです。
んでYamlを使う
Yamlを使うときに必要なのは,この一行だけ
require_once COREPATH . '/vendor/spyc/spyc.php';
なんかimport関数とかあった気がするけど,まぁこれでも問題ないでしょう。
利用する側では、
$rtn = \Spyc::YAMLLoadString($str);
とかして文字列を配列に変換できる。ちょー便利。他にもファイルから直読み込みとかあるけどエラー処理とか面倒だし,基本これしか使ってない。その辺の細かい実装とかはrequireサれてるファイルを確認してもらえれば、と思います。
Markdownもあるよ
Markdownなんてどっかで使ってたっけ?とは疑問に思うところなんだが、なぜかMarkdownもちゃっかり入ってます。確か昔はドキュメントのどっかに書いてあったような気がするんだけど…
fuelphpに入ってるMarkdownパーサはPHP界隈ではお馴染みのMarkdownExtra。こっちはロードとか無しでも普通に使えたはず。
\Markdown::parse($str)
こんなかんじで。使い方もMarkdownExtraと一緒。
fuelと外部ライブラリの親和性
なんか名前空間の関係でfuelと外部ライブラリの親和性は低い,みたいな話もたまに聞くけれども,この辺の例とかみてみるとあながちそうでもないんじゃね?ってわかると思います。
つか別に名前空間があろうがなかろうがラップしてやればそんなもんは一発で…(フェードアウト