mirror of
https://github.com/macintoshplus/mongo-php-driver.git
synced 2026-03-30 21:02:08 +02:00
This ensures that phongo_execute_command creates an implicit session (if supported and not explicit session was provided). In turn, this ensures that any command cursor shares the same session as its originating command. By creating a Session object, we can ensure that the implicit session is destroyed during garbage collection when the last reference is removed.
67 lines
1.3 KiB
PHP
67 lines
1.3 KiB
PHP
--TEST--
|
|
MongoDB\Driver\Server::executeCommand()
|
|
--SKIPIF--
|
|
<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?>
|
|
<?php NEEDS('STANDALONE'); CLEANUP(STANDALONE); ?>
|
|
--FILE--
|
|
<?php
|
|
require_once __DIR__ . "/../utils/basic.inc";
|
|
|
|
$manager = new MongoDB\Driver\Manager(STANDALONE);
|
|
$server = $manager->executeQuery(NS, new MongoDB\Driver\Query(array()))->getServer();
|
|
|
|
$command = new MongoDB\Driver\Command(array('ping' => 1));
|
|
$result = $server->executeCommand(DATABASE_NAME, $command);
|
|
|
|
var_dump($result instanceof MongoDB\Driver\Cursor);
|
|
var_dump($result);
|
|
|
|
echo "\nDumping response document:\n";
|
|
var_dump(current($result->toArray()));
|
|
|
|
var_dump($server == $result->getServer());
|
|
|
|
?>
|
|
===DONE===
|
|
<?php exit(0); ?>
|
|
--EXPECTF--
|
|
bool(true)
|
|
object(MongoDB\Driver\Cursor)#%d (%d) {
|
|
["database"]=>
|
|
string(6) "phongo"
|
|
["collection"]=>
|
|
NULL
|
|
["query"]=>
|
|
NULL
|
|
["command"]=>
|
|
object(MongoDB\Driver\Command)#%d (%d) {
|
|
["command"]=>
|
|
object(stdClass)#%d (%d) {
|
|
["ping"]=>
|
|
int(1)
|
|
}
|
|
}
|
|
["readPreference"]=>
|
|
NULL
|
|
["session"]=>
|
|
%a
|
|
["isDead"]=>
|
|
bool(false)
|
|
["currentIndex"]=>
|
|
int(0)
|
|
["currentDocument"]=>
|
|
NULL
|
|
["server"]=>
|
|
object(MongoDB\Driver\Server)#%d (%d) {
|
|
%a
|
|
}
|
|
}
|
|
|
|
Dumping response document:
|
|
object(stdClass)#%d (1) {
|
|
["ok"]=>
|
|
float(1)
|
|
}
|
|
bool(true)
|
|
===DONE===
|