Publié par le 4 mai 2011, 0 commentaire

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 !!

Publié par le 12 juin 2010, 0 commentaire

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 :

echo json_encode( $monTableau );

 

Une petit aperçu d’un encodage JSON :

{"total":1318,"current":20,"next":20,"previous":-20}

 

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.

Publié par le 7 juin 2010, 0 commentaire

Juste rapidement, les organisateurs du forum PHP 2010 (AFUP) cherchent des conférenciers pour participer au forum PHP 2010.

Je vous mets le lien :

http://www.afup.org/pages/site/?route=actualites/412/experts-php-participez-au-forum-php-2010

Publié par le 25 avril 2009, 2 commentaires

Alors que PHP 5.2.x vient d’atteindre sa 9 ème release, PHP 5.3 se prépare tranquillement.

Cette version sera une pré-release du fameux PHP 6 tant attendu et qui sera encore attendu pendant un temps certain.

Effectivement, beaucoup de travail pour l’équipe de développement qui a déjà déporté des nouveauté de la version 6 sur la version 5.3.

Dans les améliorations notoires :

  • intégration en natif de la bibliothèque mysqlnd permettant la prise en charge sans module des connexions au SGBD mysql (donc plus de module à charger) et bien sûr aucune modification des script actuel. Il est annoncé jusqu’à 20 % de gain de temps par rapport à la librairie actuelle.
  • la gestion des namespaces permettant de gérer des classes smiliaires.
  • la prise en charge des LABEL/GOTO (à utiliser avec précaution et à déprécier dans certain cas).
  • l’ajout des fonctions anonymes (du type $toto = new function(){ }).
  • moteur du Garbage Collection afin d’optimiser les scripts objets.
  • l’ajout de nouvelle erreurs (E_DEPRECATED).
  • et plein d’autres choses …..

L’annonce de la release candidate 1 :

http://www.php.net/archive/2009.php#id2009-03-24-1

Afin de vous faire une petite idée de ce qui nous attend, voici la vidéo de la conférence PHP TV de décembre 2008 :

Publié par le , 0 commentaire

Lorsque l’on développe une classe static en PHP, nous nous retrouvons avec une structure de ce type :

static class maClass{
  static function maFonction(){

     }
}

Lors de l’appel de cette méthode static dans notre code, nous utilisons ce code :

maClass::maFonction();

Le double deux points utilisé se nomme le « Paamayim Nekudotayim », mot venant de l’hébreux.

Pour en savoir plus :

http://www.php.net/manual/fr/language.oop5.paamayim-nekudotayim.php