Cela a dû vous arriver : mettre en place un WebService en PHP (client), et vous n’arrivez à gérer les erreurs lorsque le serveur distant ne répond pas.
La première solution consiste à modifier le niveau d’alerte, et à brider les « hurlements » des méthodes Soap en PHP.
La seconde solution consiste à gérer les connexion en amont afin de ne pas lancer le protocole Soap.
je m’explique : avant de lancer le code permettant la construction d’une connexion Soap avec votre serveur distant, vous aller tester si une connexion socket peut être ouverte sur votre serveur distant. Si cela est impossible, alors vous gérer l’erreur de manière fatale sans accéder à vos fonction Soap. Ainsi, pas d’erreur non géré.
Voici le code à mettre en place :
// on va tester le socket
$return = @stream_socket_client('tcp://monServeurDistant:80', $errno, $errstr, 5);
// si le socket du WS n'est pas connectable
if( $return === false ){
// On vé gérer l'erreur
}
else{
// on exécute le code Soap
}
Avec ceci, vous pourrez gérer les problèmes de connexion avant que la méthode Soap ne génère d’erreur !!
JSON : c’est un mode de code des données (on parle bien de données, comme dans une base de données) permettant un transfert architecturé logiquement et optimisé pour le réseau. Ce format est de plus en plus utilisé pour charger dynamiquement des données via des requêtes AJAX, ensuite c’est JavaScript qui va s’occuper d’intégrer ces données brut dans l’arbre DOM HTML.
Voici le code pour l’appel jQuery :
var monUrl = "test.php";
$.getJSON( monUrl, function(data) {
for(id in data){
alert( data[id] );
}
}
En PHP, coté serveur, il suffirai de créer un tableau simple de données, puis de passer ce tableau dans cette fonction :
C’est un tableau contenant « total », « current », « next », et « previous ».
Quoi de plus simple ?
Ensuite, il vous reste à créer une méthode de reconstruction DOM HTML.
Comment ? :
$('body').append( "<div>" + maData + "</div>" );
La méthode append permet d’ajouter dans l’arbre DOM HTML un code HTML.
Bien sûr, vous pourriez pointer autre chose que le body, par exemple un tableau HTML, ou une autre div, ou autre chose encore.
Juste une chose importante : lorsque vous ajouter des lignes dans un tableau HTML, pensez bien à ajouter les tbody pour chaque ligne, sinon IE ne voudra pas reconstruire correctement votre arbre DOM HTML.
L’optimisation de son site Internet …. Très grande problématique, bien souvent compliqué à résoudre, tant de chose pouvant être à l’origine du problème.
Commençons par cette vidéo de PHPTV de décembre 2008 :
Alors que PHP 5.3 vient de sortir, il serait temps de vraiment se spécialiser dans PHP objet. A l’aube de PHP ASPECT (utilisation des tisseurs pour optimiser le contrôleur), le fait de connaitre PHP 5 sur le bout des doigts n’est surement pas le futur.
La société Anaska, fondatrice du très célébre WAMPSERVER, propose des formations au passage de la certification ZEND, certification reconnus dans le monde du développement et attestant des connaissances et des compétences de son propriétaire.
Cette formation possède un coût assez important, mais permet vraiment de justifier le prix d’un bon développement, et permet d’aquérir des compétences précise en sécurité, optimisation, et ergonomie. Les formateurs de chez Anaska sont les fondateurs actifs français du PHP.