[PHP-users 28332] Re: mojaviについて

nagayasu php @ tnaga.net
2006年 2月 5日 (日) 23:10:35 JST


nagayasuです。

古城 篤 wrote:
> 皆さんお世話になります。古城と申します。
> 
>> Controllerのredirectメソッドではheader関数でredirectしています。
>> なので、redirect先のURLはhttp://から書く必要があります。
> 
> そんなことはないです。
> mojaviは公開ディレクトリに置くindex.phpが基点(フロントコントローラ)
> なのでリダイレクトの記述はhttp://から書く必要はありません。
> 私もスタックアスタリスクのチャット例は勉強中に模倣しましたが
> きちんと動作したように思えます。(1年くらい前のことですが)
> 時間がないので再確認はしていませんが。
> 

相対URIでも動くことは動きますが、絶対URIで書いた方が良いでしょう。

Mojavi2のControllerにはgenURLというメソッドがあります。
なので

config.php内で定義されている、SCRIPT_PATHをこんな感じで定義し

define('SCRIPT_PATH', 'http://example.org/foo/bar/index.php');

Actionの中で

$params = array();
$parmas[MODULE_ACCESSOR] = 'リダイレクト先モジュール名';
$parmas[ACTION_ACCESSOR] = 'リダイレクト先アクション名';

$controller->redirect($controller->genURL($params));
exit;

とすると絶対URIでリダイレクトされます。




PHP-users メーリングリストの案内