karintoは関数書いていく感じに戻りました
迷走ばっかりしてますけど。
Limonadeとか見てて、関数ベースも悪くないじゃんとか思ったのでkarintoを再び関数で実装を書いていく感じに戻しました。クラスとか書かなくていいです。
次のコードで、/index.php/fooを表示します。
/index.php
<?php require_once 'karinto.php'; karinto::run(); // GET /foo function get_foo($req, $res) { $res->message = 'Hello ' . $req->name; $res->render(); }
/templates/get_foo.php
<html> <body> <?php echo $message; ?> </body> </html>
Limonadeはdispatch関数でURLと関数のマッピングを定義していく感じになってるけど、karintoはリクエストメソッドとPATH_INFOを元に実行する関数を決めていきます。なのでマッピングの定義とか不要(でも指定できると便利な局面もあるのかな)。
karintoはテンプレートの扱いが割と普通(テンプレートファイルを読み込んで表示)なのだけれど、LimonadeはテンプレートもPHPの関数として実装するようになってますね。その発想はなかった。
# それにしてもLimonadeって命名とロゴがかわいいな