Wie führt Youtube eine neuere Version auf derselben URL ein?

Ich möchte eine neuere Version meiner Website erstellen und Benutzer bitten, es zu versuchen, aber ich möchte die gleiche URL

Ist das der sauberste Weg?

  //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.
    *
    **/

}

Ich habe keine Anleitungen oder Fragen dieser Art gefunden, also bitte helfen Sie mir.

0
Sie können keinen Cookie in derselben Instanz festlegen und darauf zugreifen.
hinzugefügt der Autor Mob, Quelle
Das Setzen eines Cookies über setcookie() wirkt sich NICHT auf das _COOKIE-Superglobal bis zum Laden der NEXT-Seite aus. Die Superglobals werden vor der Ausführung Ihres Codes initialisiert/aufgefüllt und dann nicht mehr von PHP berührt.
hinzugefügt der Autor Marc B, Quelle
Ich weiß, es war nur ein Beispiel, das ist nicht die Frage, die ich bearbeiten werde, es war nur eine Illustration, ich muss nur wissen, ob dies der sauberste Weg ist, es zu tun.
hinzugefügt der Autor Pinokyo, Quelle

1 Antworten

Genau so implementiert Youtube HTML5-Video (über den PREF -Cookie). Da Sie oft nur einen Teil Ihrer Website ändern möchten, sieht der Code möglicherweise so aus:

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

Alternativ können Sie natürlich zwei zunächst divergierende Controller-Pfade (wie in Ihrem Beispiel) verwenden, die am Ende die gleichen Hilfsfunktionen aufrufen.

1
hinzugefügt
PHP - Deutsche Gemeinschaft
PHP - Deutsche Gemeinschaft
5 der Teilnehmer

In dieser Gruppe sprechen wir über PHP. Partner: de.switch-case.com

JavaScript - Deutsche Gemeinschaft
JavaScript - Deutsche Gemeinschaft
3 der Teilnehmer

In dieser Gruppe sprechen wir über JavaScript.