routing定義とか面倒になった

そしてまたしても心変わり。実行する関数名をPATH_INFOから自動的に決定する仕様に戻しました。routing定義とか面倒くさいし、正規表現で定義とか複雑なことやりたくないし。

<?php
require_once 'karinto.php';
karinto::run();

// GET /
function get_(karinto_request $req, karinto_response $res)
{
    $res->output('This is a test page.');
}

// GET /foo
function get_foo(karinto_request $req, karinto_response $res)
{
    $res->message = 'Hello ' . $req->name;
    $res->render();
}

例えば、上のように2つの関数だけが定義されている場合、get_foo関数は

  • /foo
  • /foo/bar
  • /foo/bar/baz

のようなURLでアクセスが来た場合に実行される関数になります。barとかbazとかはkarinto_request::url_paramメソッドで取得する感じ。

get_で関数名が始まるのが気持ち悪い人はkarinto::$function_prefixを設定しておけば関数名にプリフィクスが付けられますよ。

karintoは面倒なことが嫌いな人向けのminimalなフレームワークを目指します。