2010-06-01 10 views
2

Je travaille actuellement sur le CMS interne de mon entreprise et souhaite ajouter la possibilité pour un administrateur de voir le site à une date précise. Cela permettra aux administrateurs de prévisualiser le site avec des messages archivés ou programmés.Définir la date actuelle en PHP

Je voudrais éviter de trouver toutes les mentions de date() ou time() et de les compenser. Y at-il un moyen de faire PHP pense c'est une date spécifique de sorte que tous les appels à date() par défaut à la nouvelle heure?

Merci

Répondre

1

Cela ressemble à un problème d'encapsulation - pourquoi ne pas chercher toutes les mentions de date() ou time() et les remplacer par $site->getDisplayedDate(), ou quelque chose d'autre approprié à votre code?

+0

Je sais que je pourrais le faire, mais je serais encore intéressé de savoir si ce que j'ai demandé est faisable. Je travaille avec un code hérité et je crains que ce ne soit pas le travail le mieux structuré que j'ai rencontré :( – Rowan

+1

Je ressens votre douleur, mais je ne pense pas qu'il y ait un moyen de le faire. façon ... comment vous sentiriez-vous si, dans un code sans rapport, vous appelez 'time()' et il vous a donné une date de 3 semaines dans le futur? – zildjohn01

+0

Très vrai Merci pour la réponse de toute façon, je suis heureux de faire de cette façon, s'il n'y a pas d'alternative! Pas de POO cependant, tous les globals :( – Rowan

1

Je ne peux penser à changer globalement, ce qui changerait la date pour tout le monde sur le serveur à ce point.

Je stockerais probablement un horodatage dans la session ou similaire, de sorte qu'il puisse être facilement changé et mis à jour à volonté, plutôt que de changer les valeurs de base de PHP.

You might try this though

Questions connexes