2011-10-27 1 views
0

私は自分のウェブサイトの新しいバージョンを作り、それを試してみたいと思っていますが、同じURLが欲しいですyoutubeは同じURLに新しいバージョンをどのように導入しますか?

これは最もクリーンな方法ですか?

// code executes if user asks to make the new version the default. 
setcookie("newversion", "true", mktime(0,0,0,12,31,2011)); 

これは/index.php

if($_COOKIE['newversion'] == "true") { 

    /** 
    * load the new version of the site. 
    * 
    **/ 
    exit(); 
} else { 

    /** 
    * load the older version of the site. 
    * 
    **/ 

} 

である私は、この種の任意のチュートリアルや質問を見つけたので、助けてくださいませんでした。

+0

'setcookie()によってクッキーを設定すると、NEXTページが読み込まれるまで_COOKIEスーパーグローバルに影響しません。あなたのコードが実行を開始する前に、スーパーグローバルは初期化/移植され、PHPによって再び触れられません。 –

+0

同じインスタンス内のCookieを設定およびアクセスすることはできません。 – Mob

+0

私はそれが単なる例であったことを知っています、これは私が編集する質問ではなく、単なるイラストであり、これを行う最もクリーンな方法かどうかを知る必要があります。 – Pinokyo

答えて

1

これは、youtubeが(クッキーPREFで)HTML5ビデオを実装する方法とまったく同じです。あなたが頻繁にだけあなたのサイトの一部を変更したいので、コードは次のようになります、また

$prefs = array('version'=>'1', $html5=false); 
$prefs = array_merge($prefs, parsePrefs($_COOKIE['PREFS'])); 
if ($prefs['version'] == '1') { 
    old_header(); 
} else if ($prefs['version'] == '2') { 
    new_header(); 
} 

することができますもちろん、同じヘルパーを呼び出してしまう(あなたの例のように)2つの最初に発散コントローラパス機能。

関連する問題