blog sur le développement web, jquery,css3, Magento, Symphony, php et bien d'autres choses

Archives de la catégorie ‘Uncategorized’

PHP web services : comment créer un service web php avec soap

image creer web services php

Cet article est un petit pense bête pour expliquer simplement comment créer un service web. Nous allons donc voir comment retourner un tableau d’informations en php.

1 – telecharger la librairie NuSOAP

2 – Création de l’objet serveur et définition de l’objet à renvoyer dans la réponse, notre tableau


/**
* Coté serveur
*
*/
<?php
// on inclut la librairie que l'on a téléchargé
include('lib/nusoap.php');
//on crée l'objet server
$serveur = new soap_server
$serveur->wsdl->addComplexType(
'Contact',
'complexType',
'struct',
'all','',
array(
'nom' => array('name' => 'nom', 'type' => 'xsd:string'),
'prenom' => array('name' => 'prenom', 'type' => 'xsd:string'),
'web' => array('name' => 'web', 'type' => 'xsd:string'),
'tel' => array('name' => 'tel', 'type' => 'xsd:int'),
)
);

$serveur->wsdl->addComplexType(
'ContactArray',
'complexType',
'array','',
'SOAP-ENC:Array',array(),
array(
array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Contact[]')
),
'tns:Contact'
);

// on définit la méthode qui sera appelé par le client
$serveur->register('getContacts',
array(), //pas de paramètre en entré
array('Contact' => 'tns:ContactArray')
);

// on implémente la méthode

function getContacts() {
$result = array();
$req="SELECT * FROM `Contacts`";
$res=mysql_query($req);
while($obj=mysql_fetch_object($res)) {
$result[] = array( 'nom' => $obj->nom, 'prenom' => $obj->prenom,'email'=>$obj->email, 'tel'=>$obj->tel);
}
return $result;
}
?>

et l’appel coté client


<?php

/**

* Coté client

*

*/

require_once('lib/nusoap.php');

// url du fichier qui contient le code que l'on a définit juste avant

 $serverpath ='http://url-vers-le-fichier-php-du-web-service';

$client = new soapclient($serverpath);

// on appelle la fonction get client

$result = $client->call('getContacts');

// on affiche la requete

print($client->request);

?>

Pour cet article, j’ai complété cette source : www.jkraft.fr

PHP : remplir les propriétés d’un objet PHP à partir d’un tableau

On est souvent confronté à ce shéma lors de nos développement, on à d’un un tableau php qui contient des informations, de l’autre notre objet ayant des propriétés, lesquelles doivent être renseignées avec les informations du tableau. Voici une petite fonction qui permet de faire ce traitement de manière générique. Si vous connaissez uneautre fonction php qui permet de remplir un objet php à partir d’un array plus rapidement encore je suis preneur.


// mon tableau de données
$array = array('prop1' => 'foo', 'prop2' => 'bar');
// mon objet
$object = new maRandomClass();

// ma fonction qui va injecter les données dans l'objet
function feed($arr, $object) {

    foreach($arr as $key => $value)
    {
        // si la clef du tableau est effectivement une propriete de mon objet
        // alors je renseigne la propriete de mon objet avec la value
        if(property_exists(get_class($object), $key)) {
            $object->{$key} = $value;
        }
    }

    return $object;
}

// on recupere l'objet avec les nouvelles value
$object = feed($array, $object);

 

Meteor : synchroniser vos données cotés client automatiquement de manière asynchrone en javascript

Image

Meteor est une plateforme javascript qui vous permettra de mettre en temps réels à jour l’affichage coté client, lorsque des informations de votre base de données seront mise à jour. bref un outil super intéressant pour vos applications web. à tester impérativement, ça va faire partie du BA ba pour les applications de demain.

 

voici la documentation de meteor

 

 

 

 

Suivre

Recevez les nouvelles publications par mail.

Joignez-vous à 294 followers

%d bloggers like this: