2017-08-21 2 views
0

ラチェットを使用してWebsocketサーバーのonOpen関数で着信接続のクエリパラメータにアクセスしようとしています。 official documentationおよびその他のStackOverflowポストどちらも、関数に渡さConnectionInterfaceオブジェクトのWebSocketプロパティにアクセスすることで、これを行うことができると言う:RatchetPHP新しい接続のWebSocketプロパティなし

public function onOpen(ConnectionInterface $conn) { 
    $query = $conn->WebSocket->request->getQuery(); 
} 

しかし、着信接続オブジェクトにはWebSocketプロパティがありません。

PHPのお知らせ:未定義のプロパティ:私は、このサーバを起動し、クライアントに接続すると、通知がnullオブジェクトの関数を呼び出すために致命的なエラーが発生しており、与えられたラチェット\サーバー\ IoConnection :: $のWebSocket

私はPHP 7.0を使用していると私は私のcomposer.jsonの最新の安定版リリースが必要なんだ。私は直接あちこちにコピーしたコードを使ってChrome JSコンソールにクライアントを接続してい

"require": { 
    "cboden/ratchet": "^0.3.6" 
} 

をそれが役に立つなら、私は$connを参照唯一のパブリックプロパティは

var conn = new WebSocket('ws://localhost:8080?foo=bar'); 
conn.onopen = function(e) { 
    console.log("Connection established!"); 
}; 

bufferSize 
stream 
readable 
writable 
closing 
loop 
buffer 
listenerse 
decor 
+0

ええええええええええええええええええええええええええええええええええええええええええええええ投稿者通常は、特定の名前空間を宣言して '使用する'必要があり、そのクラスを呼び出します。あなたはまだそれがどのクラスであるかを覚えていますか? – Anthony

答えて

0

私は同じ問題を持っていたし、私はことを発見:

$querystring = $conn->httpRequest->getUri()->getQuery(); 
parse_str($querystring,$queryarray); 
同様 Hello Worldドキュメントをm個

を使用すると、クエリパラメータにアクセスできます。

関連する問題