Як 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
Ви не можете встановити та отримати доступ до файлів cookie в тому ж самому екземплярі.
додано Автор Mob, джерело
Налаштування cookie за допомогою setcookie() НЕ впливатиме на суперглобуль _COOKIE до завантаження сторінки NEXT. Суперглобали ініціалізуються/заселяються до того, як ваш код почне виконуватися, а потім не торкається PHP знову.
додано Автор Marc B, джерело
Я знаю, що це був лише приклад, це не питання я буду редагувати, це було просто ілюстрацією, я просто повинен знати, якщо це чистий спосіб це зробити.
додано Автор Pinokyo, джерело

1 Відповіді

Саме так youtube реалізує відео HTML5 (за допомогою файлу cookie 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
додано
Ukrainian PHP comunity
Ukrainian PHP comunity
885 учасників

dev-ua/php

ІТ КПІ - JavaScript
ІТ КПІ - JavaScript
504 учасників

співтовариство javascript розробників в Telegram