在构造函数/析构函数方法中使用 connect/disconnect 是否有点奇怪?
我有一个案例,连接在 PHP 进程结束之前应该保持活动状态
<?php
class MyStompWrapper {
public function doSend()
{
$stomp = $this->connect(); // 返回 Stomp 对象
$stomp->send('/destination', 'message', []);
$this->disconnect($stomp);
// $stomp 仍然存在于此范围内,因此连接处于活动状态
}
private function disconnect(\Stomp $stompObj)
{
// 仅取消设置本地 $stomp 指针,不会真正断开连接
unset($stomp);
}
private function connect():\Stomp
{
// 为示例简洁起见,省略了 try-catch 块
return new Stomp('url', 'username', 'password');
}
}
?>
这意味着,为了处理断开连接,我必须在同一范围内创建和销毁 Stomp 对象。