RabbitMQ AMQP for PHPの新しいAPIのアイデア

RabbitMQ用の以前に開発されたPHP API 「AMQP Now for PHP」を最近公開しました

議論の中で、PHP APIをよりオブジェクトモデルにすることが提案されました。
AMQPプロトコルで提案されているモデルにより近い。

コードは少し複雑になりますが、オブジェクトモデルはより美しくなり、

コーディングに進む前に、議論のために新しいAPIを紹介します

クラスAMQPConnection

チャネル接続を含む論理接続を開きます。
$ cnn =新しいAPMQConection([ホスト= localhost]、[ポート= 5672]、[ログイン=ゲスト]、[psw =ゲスト]、[vhost = /]);
$ cnn-> getResult(); -接続の真/偽の結果

AMQPExchange Exchange クラス

$ exchange = new AMQPExchange($ cnn、[name]、[parms])-名前が指定されている場合は交換を作成し、そうでない場合はクラスの初期化
$ res = $ exchange-> declare([name])-交換を宣言する
$ res = $ exchange-> delete([name])-名前が指定されていない場合、交換を削除します-現在の名前で削除されます
$ res = $ exchange-> publish(msg、routing_key、[parms])
$ res = $ exchange-> getResult(); -最後の操作の真/偽の結果

$ exchange = new AMQPExchange($ cnn、name、[parms])は同等です
$ exchange =新しいAMQPExchange($ cnn);
$ res = $ exchange-> declare();

AMQPQueueキュークラス

$ queue = new AMQPQueue(cnn、[name]、[params]); -名前が指定されている場合はキューの作成、そうでない場合はクラスの初期化
$ res = $ queue-> delete([name])-キューを削除し、操作の結果を返します
$ res = $ queue-> declaere([name]、[params])-キューの宣言、操作の結果を返します。
$ res = $ queue-> purge([name])-キューのすべての要素を削除し、操作の結果を返します
$ res = $ queue-> bind(exchange、routing_key、[parms]); -キューと交換の通信
$ queueItem = $ queue-> getItem(); -キューからアイテムを1つ取得する
$ arrayOfQueueItems = $ queue-> consumer([n])-nが指定されていない場合、キューからnメッセージの配列を取得します(他はすべて破棄されます)-すべてのメッセージが選択されます
$ queue-> getResult(); -true / false最後の操作の結果。主にコンストラクターで操作の検証を使用することを目的としています

$ queue = new AMQPQueue(cnn、name、[params]); と同等:
$ queue =新しいAMQPQueue(cnn)
$ queue-> declaere(name、[params])

オブジェクトモデルはAMQP標準に完全には準拠していませんが、1つのモノリシッククラスの代わりに既に4つあります。 実際には、機能は変更されておらず、キューと交換を削除するメソッドのみが追加されています。

Source: https://habr.com/ru/post/J70902/


All Articles