2010-10-07 5 views
9

J'ai un simple site web php en cours d'exécution et j'essaie de comprendre comment il traite les pages php. Certains de mes documents PHP sont la logique de routage et d'autres ne comprennent que des pages individuelles. Comment puis-je faire ce travail hors ligne?html5 mise en cache hors ligne avec les sites php

Ce que je pensais, c'est que je devais recréer la logique de routage en javascript. Est-ce ma seule option? Dans ce cas, est-il même possible que le site soit piloté par php en ligne et basculer vers JS hors ligne? Je ne peux pas comprendre cela.

Répondre

5

Si votre site est relativement statique, le fichier cache de HTML5 peut vous aider à le faire. Demandez à PHP de générer un fichier cache.manifest au format correct avec toutes les URL de votre système de routage et ces URL seront stockées localement dans un navigateur compatible. Tenter d'y accéder les retirera du cache si possible.

Si vous cherchez quelque chose de plus dynamique, vous devrez faire plus de démarches.

Here's some good info on offline caching.

2

Il est important de se rappeler que PHP est traité sur le serveur. Le résultat de votre code PHP est tout ce qui est envoyé à votre navigateur. Votre navigateur n'a absolument aucune connaissance que PHP a même été utilisé pour faire la page!

Si vous avez du code dynamique qui doit s'exécuter hors connexion, vous devez utiliser Javascript. Si c'est juste pour tester sur votre propre machine, mettez un serveur web exécutant PHP sur votre machine dev et acccess via http://localhost.

+0

Est-ce que le fichier .php de cache de manifeste peut cependant? Disons que j'ai des fichiers .php qui contiennent du PHP et d'autres qui ne contiennent que du HTML mais qui ont une extension .php. –

+3

L'extension du nom de fichier n'a absolument rien à voir avec le type de fichier. Le type de fichier est déterminé par l'en-tête HTTP du type de contenu. – Brad

1

La mise en cache hors connexion HTML5 ne fonctionne pas pour que vos pages interagissent; cela ne fonctionne que pour rendre une page particulière disponible hors connexion. Fondamentalement, cela fonctionne URL par URL. Si vous avez absolument besoin d'une fonctionnalité hors ligne, vous serez obligé de la faire fonctionner dans JS.

De même, assurez-vous que votre manifeste inclut toutes les ressources utilisées par toutes les pages.

Espérons que cela aide!

0

Il semble évident de ne pas utiliser un fichier de langage de script côté serveur en cache dans votre navigateur. PHP/JSP/ASP etc sont tous le langage côté serveur nous ne pouvons pas répondre à la demande transmise par le client qui doit être généré dynamiquement et surtout, il n'y a pas de serveur en cours d'exécution côté client. Donc, je pense que nous devrions aller pour JS chaque fois que nous voulons faire de telles choses.

Questions connexes