PHP Sur-Le-Volent !
Introduction
PHP peut être employé pour beaucoup de
différentes choses, et est l'une des langues scripting les plus
puissantes disponibles sur l'enchaînement. Ne pas le mentionner
est extrêmement bon marché et extensivement utilisé.
Cependant, une chose dont PHP manque, et en fait la plupart des
langues scripting sont, sont une manière de mettre à jour des pages
en temps réel, sans devoir recharger une page ou soumettre une forme.
L'Internet n'a pas été fait pour ceci. Le
navigateur d'enchaînement ferme le raccordement avec le web server
dès qu'il recevra toutes les données. Ceci signifie cela
après que ces plus de données ne puissent être échangées.
Que si vous voulez une mise à jour cependant ? Si vous
établissez une application de PHP (par exemple un système de gestion
content de haute qualité), alors l'it'd soit idéal si cela
fonctionnait presque comme une application indigène de Windows/Linux.
Mais cela exige les mises à jour en temps réel.
Quelque chose qui n'est pas possible, ou ainsi vous penserait.
Un bon exemple d'une application qui fonctionne dans (presque)
le temps réel est GMail de Google (
http://gmail.google.com). Tout est
Javascript actionné, et il est très puissant et dynamique. En
fait, c'est l'un des plus grands vendre-points de GMail. Ce qui
si vous pourriez avoir ceci dans vos propres sites Web de PHP aussi
bien ? Devinez ce qui, je vais vous montrer en cet article.
Comment fonctionne-t-cela ?
Si vous voulez exécuter un manuscrit de PHP, vous devez
recharger une page, soumettez une forme, ou quelque chose de
semblable. Fondamentalement, un nouveau raccordement au serveur
doit être ouvert, et ceci signifie que le navigateur va à une
nouvelle page, perdant la page précédente. Pendant un long
moment maintenant, les réalisateurs d'enchaînement avaient employé
des tours pour venir à bout ceci, comme employer un iframe 1x1, où
une nouvelle page de PHP est chargée, mais c'est loin d'idéal.
Maintenant, il y a une nouvelle manière d'exécuter un
manuscrit de PHP sans devoir recharger la page. La base
derrière cette nouvelle manière est un composant de Javascript
appelé l'objet de demande de HTTP de XML. Voir
le http://jibbering.com/2002/4/httprequest.html pour plus d'informations sur le composant. Il est
soutenu dans tous les navigateurs principaux (Internet Explorer 5.5+,
safari, Mozilla/Firefox et opéra 7.6+).
Avec cet objet et quelques fonctions de Javascript de
coutume, vous pouvez créer quelques applications plutôt
impressionnantes de PHP. Regardons un premier exemple, qui met
à jour dynamiquement le date/heure.
Exemple 1
D'abord, copiez le code ci-dessous et économiser
lui dans un dossier appelé le 'script.js':
xmlhttp=false de variété ;
* de /*@cc_on @/
/*@if (@_jscript_version > = 5)
//JScript nous donne la compilation
conditionnelle, nous peut faire face à de vieilles versions d'IE.
//et la sécurité ont bloqué la création des objets.
essai {
xmlhttp = nouvel ActiveXObject("Msxml2.XMLHTTP") ;
} crochet (e) {
essai {
xmlhttp = nouvel
ActiveXObject("Microsoft.XMLHTTP") ;
} crochet (e) {
xmlhttp = faux ;
}
}
* de @end @/
si (typeof XMLHttpRequest!='undefined de && de
!xmlhttp ') {
xmlhttp = nouveau XMLHttpRequest() ;
}
loadFragmentInToElement(fragment_url, element_id
de fonction) {
élément de variété =
document.getElementById(element_id) ;
element.innerHTML = 'chargement... ';
xmlhttp.open("GET", fragment_url) ;
xmlhttp.onreadystatechange = function() {
si (== 200 de && xmlhttp.status de == 4 de
xmlhttp.readyState) {
element.innerHTML = xmlhttp.responseText ;
}
}
xmlhttp.send(null) ;
}
Copiez alors le code ci-dessous, et collez-le dans
un dossier appelé le 'server1.php ':
Et en conclusion, copiez le code ci-dessous, et collez-le
dans un dossier appelé le 'client1.php '. Veuillez noter
cependant que vous devez éditer la ligne qui indique
'http://www.yourdomain.com/server1.php 'à l'endroit correct de
server1.php sur votre serveur.
Exemple 1
updatedate() de fonction {
loadFragmentInToElement('http://www.yourdomain.com/server1.php
', 'currentdate ') ;
}
La date du jour est.
Maintenant allez
à
http://www.yourdomain.com/client1.php et
cliquez sur le bouton qui indique la 'date de mise à jour '.
La date mettra à jour, sans page devant être rechargé.
Ceci est fait avec l'objet de demande de HTTP de XML. Cet
exemple peut également être regardé en ligne
à
http://www.phpit.net/démo/php%20on%20the%20fly/client1.php.Exemple 2
Essayons un exemple plus avançé. Dans
l'exemple suivant, le visiteur peut écrire deux nombres, et ils sont
ajoutés par PHP (et pas par JavaScript). Ceci montre la
puissance vraie de PHP et de l'objet de demande de HTTP de XML.
Cet exemple emploie le même script.js que dans le premier
exemple, ainsi vous n'avez pas besoin de créer ceci encore.
D'abord, copiez le code ci-dessous et collez-le dans un dossier
appelé le 'server2.php ':
Et puis, copiez le code ci-dessous, et collez-le dans un
dossier appelé le 'client2.php '. Veuillez noter cependant que
vous devez éditer la ligne qui indique
'http://www.yourdomain.com/server2.php 'à l'endroit correct de
server2.php sur votre serveur.
Exemple 2
calc() de fonction {
num1 = document.getElementById ('num1').value ;
num2 = document.getElementById ('num2').value ;
élément de variété = document.getElementById('answer
') ;
xmlhttp.open("GET",
'http://www.yourdomain.com/server2.php?num1 = '+ num1 + '&num2 = '+
num2) ;
xmlhttp.onreadystatechange = function() {
si (== 200 de && xmlhttp.status de == 4 de
xmlhttp.readyState) {
element.value = xmlhttp.responseText ;
}
}
xmlhttp.send(null) ;
}
Employez ci-dessous la forme pour ajouter deux
nombres. La réponse est calculée par un manuscrit de PHP, et
pas avec le Javascript. Quel est l'avantage à ceci ? Vous
pouvez exécuter les manuscrits de serveur-côté (PHP) sans devoir
régénérer la page.
+ =
Quand vous courez cet exemple, vous pouvez ajouter
deux nombres, en utilisant PHP et aucun rechargement du tout !
Si vous ne pouvez pas obtenir cet exemple pour fonctionner,
allez voir alors sur
http://www.phpit.net/démo/php%20on%20the%20fly/client3.php pour voir l'exemple en ligne.
Tous Inconvénients... ?
Il y a seulement deux vrais inconvénients à ce
système. Tout d'abord, n'importe qui qui fait arrêter le
Javascript, ou leur navigateur ne soutient pas l'objet de demande de
HTTP de XML ne pourra pas le courir. Ceci signifie que vous
devrez vous assurer qu'il y a une version de non-Javascript, ou vous
assurer tous vos visiteurs faire permettre le Javascript (par exemple
une application d'Intranet, où vous pouvez avoir besoin de JS).
Un autre inconvénient est le fait qu'il casse des
signets. Les gens ne pourront pas bookmark vos pages, s'il y a
n'importe quel contenu dynamique dedans là. Mais si vous créez
une application de PHP (et pas un site Web de PHP), alors les signets
ne sont probablement pas très utiles de toute façon.
Conclusion
Car je vous ai montré, en utilisant deux exemples
très simples, il est entièrement possible d'exécuter des manuscrits
de PHP, sans devoir régénérer la page. Je suggère que vous
ayez lu plus au sujet de l'objet de demande de HTTP de XML (
http://jibbering.com/2002/4/httprequest.html) et de ses possibilités.
Les choses que vous pouvez faire sont sans limites.
Par exemple, vous pourriez créer un système de pagination
extrêmement ordonné, qui n'exige pas le rechargement du tout.
Ou vous pourriez créer un GUI pour votre application de PHP,
qui se comporte exactement comme Windows.xp. Pensez juste cela !
Rendez-vous compte cependant que le Javascript doit être
permis pour que ceci travaille. Sans Javascript ce sera
complètement inutile. S'assurent ainsi votre Javascript de
soutien de visiteurs, ou créent une version de non-Javascript aussi
bien.
Au sujet De l'Auteur
Dennis Pallett est un jeune auteur de technologie,
avec beaucoup d'expérience d'asp, PHP et d'autres technologies
d'enchaînement. Il a plaisir à écrire, et a écrit plusieurs
articles et cours d'instruction. Pour trouver plus de son
travail, regardez ses sites Web
http://www.phpit.net http://www.aspit.net et
http://www.ezfaqs.comdennispallett@gmail.com
Source D'Article: Messaggiamo.Com
Related:
» Seo Elite: New Seo Software!
» AntiSpywareBOT
» Reverse Mobile
» Error Nuker
Webmaster obtenir le code html
Ajouter cet article sur votre site Web dès maintenant!
Webmaster envoyer vos articles
Aucune inscription requise! Remplissez le formulaire et votre article est dans le Messaggiamo.Com répertoire!