1--TEST-- 2MongoDB\Driver\Monitoring\addSubscriber(): Adding three subscribers 3--SKIPIF-- 4<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?> 5<?php skip_if_not_live(); ?> 6<?php skip_if_not_clean(); ?> 7--FILE-- 8<?php 9require_once __DIR__ . "/../utils/basic.inc"; 10 11$m = new MongoDB\Driver\Manager(URI); 12 13class MySubscriber implements MongoDB\Driver\Monitoring\CommandSubscriber 14{ 15 private $instanceName; 16 17 public function __construct( $instanceName ) 18 { 19 $this->instanceName = $instanceName; 20 } 21 22 public function commandStarted( \MongoDB\Driver\Monitoring\CommandStartedEvent $event ) 23 { 24 echo "- ({$this->instanceName}) - started: ", $event->getCommandName(), "\n"; 25 } 26 27 public function commandSucceeded( \MongoDB\Driver\Monitoring\CommandSucceededEvent $event ) 28 { 29 } 30 31 public function commandFailed( \MongoDB\Driver\Monitoring\CommandFailedEvent $event ) 32 { 33 } 34} 35 36$query = new MongoDB\Driver\Query( [] ); 37$subscriber1 = new MySubscriber( "ONE" ); 38$subscriber2 = new MySubscriber( "TWO" ); 39$subscriber3 = new MySubscriber( "THR" ); 40 41echo "Before addSubscriber\n"; 42$cursor = $m->executeQuery( "demo.test", $query ); 43 44MongoDB\Driver\Monitoring\addSubscriber( $subscriber1 ); 45 46echo "After addSubscriber (ONE)\n"; 47$cursor = $m->executeQuery( "demo.test", $query ); 48 49MongoDB\Driver\Monitoring\addSubscriber( $subscriber2 ); 50 51echo "After addSubscriber (TWO)\n"; 52$cursor = $m->executeQuery( "demo.test", $query ); 53 54MongoDB\Driver\Monitoring\addSubscriber( $subscriber3 ); 55 56echo "After addSubscriber (THR)\n"; 57$cursor = $m->executeQuery( "demo.test", $query ); 58?> 59--EXPECT-- 60Before addSubscriber 61After addSubscriber (ONE) 62- (ONE) - started: find 63After addSubscriber (TWO) 64- (ONE) - started: find 65- (TWO) - started: find 66After addSubscriber (THR) 67- (ONE) - started: find 68- (TWO) - started: find 69- (THR) - started: find 70