Я новичок в сокетах и использую socket.io для него, чтобы внедрить систему обмена сообщениями в моем приложении ... socket.io отлично работает с nodejs, но я пытаюсь использовать его с php и использовать для него генератор событий phpsocket.io .. он работает нормально, я могу отправлять и получать события, но единственная проблема в том, что я не могу поделиться и установить глобальную переменную через обработчики сокетов.
это дает мне ошибку неопределенной переменной user_id.
phpsocket.io
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Workerman\Worker;
use PHPSocketIO\SocketIO;
global $user_id; //variable in which i will store some value
$io = new SocketIO(2021);
$io->on('connection', function($socket)use($io){
echo "new Connection connected\n";
$socket->on('join',function($data) use($socket){
$socket->join($data['email']);
echo "room Joined ".$data['email']."\n";
});
$socket->on('chat message',function($data) use($io){
$io->in($data['email'])->emit('chat message',array('msg'=>$data['msg']));
});
$socket->on("online users",function($data)use($socket){
$user_id = $data['userId']; //here i store a value in variable
});
$socket->on('disconnect', function () use($socket) {
echo "disconnected ";
echo $user_id; //here when i try to use the variable it is giving me warning
// of undefined variable
});
});
Worker::runAll();
?>