PHP peut-il fonctionner après la chargement de la page?

Donc, PHP est exécuté sur le serveur. Mais est-il possible que PHP soit exécuté après la chargement de la page?

Pour illustrer, si j'avais une valeur (stockée dans un fichier, disons) qui a changé chaque seconde. Quand je frappe un bouton qui utilise Javascript pour demander à PHP d'obtenir cette valeur, affiche-t-il la valeur actuellement utilisée ou le chargement de la page?

Je pense que vous devez obtenir l'un de ces diagrammes qui montrent comment fonctionne le HTTP et le serveur Web basique. Cela vous donnera plus de sens que ce qui est expliqué en termes simples ici.

Dans le cas le plus simple possible, vous pouvez résumer le résultat de la saisie d'une adresse et obtenir une page Web avec son contenu, en raison du processus de request/response relation de request/response entre votre navigateur et un serveur Web situé quelque part dans le monde.

HTML simple

D'une manière moins simple, pensez-y comme ça. Fondamentalement, si une page est au cours d'une phase de rafraîchissement (c'est-à-dire que vous avez cliqué sur quelque chose et que vous attendez une retour de données), cela signifie qu'il s'agit d'obtenir / de charger la réponse du serveur Web. Si le serveur Web n'a pas de PHP installé en tant que module, la seule chose qu'il attend / est chargé (dans de nombreux cas) est un contenu HTML simple.

Avec PHP

D'autre part, si nous supposons que vous disposez d'un fichier appelé index.php dans votre serveur web et si PHP est installé, dans ce cas, le serveur Web enverra tout ce qui apparaît entre <?php ?> Vers l'interpréteur PHP, D'abord, attendez jusqu'à ce que PHP soit magique et ne renvoie au serveur que le résultat.

 <?php echo 1+1; ?> 

Ainsi, dans le cas ci-dessus, le serveur web (ex: Apache, Nginx) ne se soucie pas de ce qui se trouve dans les balises d'ouverture et de fermeture, et envoie le code entier à l'interpréteur PHP, et PHP calculerait ce script selon sa façon de le comprendre Et envoie uniquement le résultat calculé au serveur, en tant que HTML simple. Dans ce cas, le numéro 2 .

Entrez la description de l'image ici

Le rôle d'AJAX.

AJAX (Asynchronous JavaScript and XML) est une technique utilisée par Javascript, pour vous aider à envoyer des demandes et à recevoir la réponse sans avoir à charger la page. Cela se fait généralement en utilisant l'objet XHR des navigateurs. Donc, il n'y a pas de mystère dans ce Shebang entier.

Ce qui précède peut être résolu simplement dans les étapes suivantes.

  • Entrez le navigateur foo.com envoie une requête au serveur de foo.com
  • Le serveur de messages d'échange de serveur / navigateur permet au navigateur d'acquérir
  • Le serveur d'informations envoie index.php au navigateur si <?php tag
  • Se trouve dans le script, le serveur envoie tous les codes inclus dans ceux-ci
  • Tags à l'interpréteur PHP L'interpréteur PHP, compile la requête
  • Et envoie le résultat en tant que HTMl

PHP est un script côté serveur, avant de retourner le contenu de la page au côté du client comme un navigateur, il devrait analyser toute la logique PHP dans la logique HTML, donc il devrait afficher la valeur qui était à la charge de la page. Et si votre logique PHP consomme beaucoup de temps à exécuter, elle retarde l'affichage du contenu sur le côté client.

Votre cas d'exemple est vraiment difficile à expliquer, sans technique, ou en utilisant beaucoup de logique enchaînée …

… cependant, je vais essayer de garder cela un peu plus simple:

La majeure partie de la plupart des temps, PHP ne fonctionnera que lorsque quelque chose se connecte au serveur et cessera de fonctionner dès qu'il sera exécuté le script auquel on a accédé.

Ce "quelque chose" peut être une page-load ( //mysite/index.php ), ou il pourrait être en //mysite/index.php délivrer un XMLHttpRequest ("AJAX") pour demander au serveur des données ( //mysite/articles.json ).

Toutes les langues ne fonctionnent pas de cette façon.