Ethna で PATH_INFO を使う
{project_basedir}/app/filter/ に Sample_Filter_PathInfo.php
を置く。
{project_basedir}/app/{project_id}_Contrller.php に以下を追加
var $filter = array(
+ 'Sample_Filter_PathInfo',
{project_basedir}/etc/{project_id}-ini.php に以下を追加
$config = array( + 'url_type' => 'PATH', + 'url_divider' => '/', + 'url_equals' => '=',url_divider と url_equalsは好きな値に変更可。
以下のようなURLでアクセスできる。
http://example.com/index.php/key1=val1/key2=val2/
ちょっとSEOっぽい感じ。
フォーム値も
$key1 = $this->af->get('key1');
のように取得できる。
リンクやリダイレクトする時にURLをベタで書くと区切り文字を変更したい時
などにめんどうなので、
こんな感じ(agaviからのパクリ)
の関数を {project_basedir}/app/{project_id}_Contrller.php に追加しておいて、
Sample_Controller::redirect(Sample_Controller::genUrl(null, $params));
みたいにすると良いかも。
さらに、
function smarty_function_ethna_uri($params, &$smarty) {
return Sample_Controller::genURL(NULL, $params);
}
みたいな Smartyプラグインを置いておけば、
<a href="{ ethna_uri action_user_view=true user_id=$user_id}"> 表示</a>
のようにテンプレートに書ける。
コメントする