amqp — php-amqplib Возвращаемое значение из обратного вызова, чтобы быть accessbile на другой странице

Я создаю класс Result.php, Этот класс содержит все процессы для отправки / получения с php-amqplib, все работает нормально. Я могу отправить и распечатать результат в функции обратного вызова, вызванной basic_consume, Тем не менее, я хочу получить процесс на другой странице Main.php,

Процесс работает так:

Result.php

require_once __DIR__ . '/vendor/autoload.php';

...
...
class Result{
function Process(){
$conn = new AMQPStreamConnection.....

......


$ch->basic_publish($msg,$exchange);
...
...
$ch->queue_bind($queue_name, '---xx--xx-');

..
..
$test_var_res="";
$callback=function($msg){
echo $msg; //this work good i can print the result
$test_var_res=$msg;
sleep(substr_count($msg->body, '.'));
$msg->delivery_info['channel']->basic_cancel($msg->delivery_info['consumer_tag']);
return $msg;
}

$ch->basic_qos(null, 1, null);
$ch->basic_consume($queue_name, '', false, false, false, false, $callback);
//close conn and ch
...

return $callback ;
}
}

main.php

require_once 'Result.php';
$test_AMQP=new Result();
echo $test_AMQP->Process();// no print nothing

ошибка Catchable fatal error</b>: Object of class PhpAmqpLib\Message\AMQPMessage could not be converted to string

и если я попробую с var_dump(get_object_vars($msg->body)); результат нулевой

Я уверен, что ключ является переменной $callback, но не так, как я, что возвращает значение на странице main.php

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector