Як YouTube ўвесці новую версію на тым жа самым URL?

я хачу, каб зрабіць новую версію свайго вэб-сайта і папрасіць карыстальнікаў паспрабаваць, але я хачу таго ж URL

гэта лепшы чысты спосаб зрабіць гэта?

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

this is the /index.php

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

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

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

}

я не знайшоў якіх-небудзь падручнікі або пытанні падобнага роду, таму, калі ласка, дапамажыце.

0
Вы не можаце ўсталяваць і атрымаць доступ да печыва ў адным экзэмпляры.
дададзена аўтар Mob, крыніца
Ўстаноўка печыва з дапамогай SetCookie() не будзе ўплываць на _COOKIE суперглобальном да наступнай загрузкі старонкі. Суперглобальные ініцыялізуюцца/запаўняецца перад кодам пачынае выконвацца, а затым не крануты PHP зноў.
дададзена аўтар Marc B, крыніца
я ведаю, што гэта проста прыклад, гэта не пытанне я буду рэдагаваць, гэта ўсяго толькі ілюстрацыя, мне проста трэба ведаць, калі гэта самы чысты спосаб зрабіць гэта.
дададзена аўтар Pinokyo, крыніца

1 адказы

Гэта значыць менавіта так, як YouTube рэалізуе HTML5 відэа (праз PREF печыва). Паколькі вы часта хочаце змяніць толькі частка вашага сайта, код можа выглядаць наступным чынам:

$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();
}

У якасці альтэрнатывы, вы можаце, вядома, два першапачаткова разбежныя шляху кантролера (як у вашым прыкладзе), што ў канчатковым выніку выклікаючы тыя ж дапаможныя функцыі.

1
дададзена