Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

envoyer des donnees avec GUZZLE (php asynchrone)


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    envoyer des donnees avec GUZZLE (php asynchrone)
    salut, dans mes recherches sur l'asynchrone en PHP, j'ai découvert la bibliothèque "Guzzle" qui me parait a prime a bord très intéressante.sauf que j'ai de la peine a envoyer des données et récupérer des donnes avec cette bibliothèque. j'aimerai pouvoir envoyer des données a partir d'un fichier quelconque et récupérer ces données dans un autre fichier afin de pourvoir les enregistrer dans la base de données. la prise en main n'est pas aisée
    voici ce que j'ai déjà réalisé.

    senddata.php

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <?php
    require '/tools/guzzle-master/vendor/autoload.php';
    use GuzzleHttp\Client;
    use GuzzleHttp\Psr7\Request;
    $url = 'http://xxxxxxxxxxxx/receive.php';
    $client = new Client();
    $param = array(
        'order_id' => 4544,
        'type' => 0,
        'amount' => 1266,
        'fullname' => 'qdxeq',
        'account' => 'dqad',
        'callback_url' => 'http://yuexingy.top/Withdraw/WithdrawCallback.aspx',
        'device_type' => 'dqd',
        'device_id' => 'dafwe',
        'device_ip' => 'dwe',
    );
     
    $json = json_encode($param);
    $data = array('json'=>$json);
    $req = new Request('POST',$url, $data);
    $promise = $client->sendAsync($req)->then(function ($response) {
        echo 'I completed! ' . $response->getBody();
    });


    je souhaiterai récupérer les attributs de mon objet JSON dans receive.php et travailler dessus. j'y arrive pas. j'ai déjà utilise les méthodes classiques.comment m'y prendre ?

  2. #2
    Modérateur

    Salut,

    c'est quoi l'erreur ?

  3. #3
    Membre régulier
    expedetion des donnees
    salut, je veux écrire script PHP avec la bibliothèque Guzzle qui va m'envoyer des données dans une URL de manière non bloquante. un script qui se contentera juste d’expédier les données a une adresse précise sans attendre de réponse. le script mere pourra ainsi continuer son exécution. voic ce que j'ai deja eu a faire. il expédie parfaitement les données mais il est bloquant.j'ai essaye un "time out" mais rien.
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    $data=$gsValues['URL_ROOT'].'func/fn_update_column.php'.$data;
    	$url=rtrim($data);
    	$client = new Client();
    	$param = array(
    		'order_id' => 4544,
    		'type' => 0,
    		'amount' => 1266,
    		'fullname' => 'qdxeq',
    		'account' => 'dqad',
    		'callback_url' => 'http://yuexingy.top/Withdraw/WithdrawCallback.aspx',
    		'device_type' => 'dqd',
    		'device_id' => 'dafwe',
    		'device_ip' => 'dwe',
    	);
     
    	$json = json_encode($param);
    	$data = array('json'=>$json);
    	$req = new Request('POST',$url, $param);
    	$promise = $client->sendAsync($req)->then(function ($response) {
    		//,['timeout' => 5]$response->getBody();
     
    	});
    	$promise->wait();

  4. #4
    Membre chevronné
    Salut,

    php et l'asynchrone sont pas les meilleurs amis du monde
    Pourquoi tu ne fais pas un script nodejs que tu exécutes avec php?

  5. #5
    Membre régulier
    salut,
    je ne connais pas très bien Nodejs. s'il te plait,peux-tu me montrer un exemple ? genre un script nodejs qui exécute une fonction php de maniere asynchrone sans bloquer le script php. merci.

  6. #6