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って命名とロゴがかわいいな