PHP Conference Japan 2024

Stomp::__destruct

stomp_close

(PECL stomp >= 0.1.0)

Stomp::__destruct -- stomp_close關閉 stomp 連線

說明

物件導向風格 (解構函式)

public Stomp::__destruct()

程序式風格

stomp_close(資源 $link): 布林值

關閉先前開啟的連線。

參數

link

僅限程序式風格:由 stomp_connect() 返回的 stomp 連結識別碼。

返回值

成功時返回 true,失敗時返回 false

範例

參見 stomp_connect()

新增註記

使用者貢獻的註記 2 則註記

szasz dot attila at microsec dot hu
9 天前
請注意,這個函式庫在解構時不會發送 DISCONNECT 訊框。因此,連線階段會比實例的生命週期更長,並在 Artemis 伺服器中累積!
vanja at removethis dizyart period com
6 年前
在建構子/解構子方法中加入連線/斷線,這樣不是很奇怪嗎?
我遇到一個案例,連線會一直保持到 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 物件。
To Top