Skip to content

Commit bea897b

Browse files
petr-buchinjmikola
authored andcommitted
PHPLIB-271: Implement accessors for options on core classes
1 parent 9666479 commit bea897b

24 files changed

+1023
-0
lines changed

docs/reference/class/MongoDBClient.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ Methods
3232
/reference/method/MongoDBClient__get
3333
/reference/method/MongoDBClient-dropDatabase
3434
/reference/method/MongoDBClient-getManager
35+
/reference/method/MongoDBClient-getReadConcern
36+
/reference/method/MongoDBClient-getReadPreference
37+
/reference/method/MongoDBClient-getTypeMap
38+
/reference/method/MongoDBClient-getWriteConcern
3539
/reference/method/MongoDBClient-listDatabases
3640
/reference/method/MongoDBClient-selectCollection
3741
/reference/method/MongoDBClient-selectDatabase

docs/reference/class/MongoDBCollection.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,10 @@ Methods
8080
/reference/method/MongoDBCollection-getDatabaseName
8181
/reference/method/MongoDBCollection-getManager
8282
/reference/method/MongoDBCollection-getNamespace
83+
/reference/method/MongoDBCollection-getReadConcern
84+
/reference/method/MongoDBCollection-getReadPreference
85+
/reference/method/MongoDBCollection-getTypeMap
86+
/reference/method/MongoDBCollection-getWriteConcern
8387
/reference/method/MongoDBCollection-insertMany
8488
/reference/method/MongoDBCollection-insertOne
8589
/reference/method/MongoDBCollection-listIndexes

docs/reference/class/MongoDBDatabase.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ Methods
5151
/reference/method/MongoDBDatabase-dropCollection
5252
/reference/method/MongoDBDatabase-getDatabaseName
5353
/reference/method/MongoDBDatabase-getManager
54+
/reference/method/MongoDBDatabase-getReadConcern
55+
/reference/method/MongoDBDatabase-getReadPreference
56+
/reference/method/MongoDBDatabase-getTypeMap
57+
/reference/method/MongoDBDatabase-getWriteConcern
5458
/reference/method/MongoDBDatabase-listCollections
5559
/reference/method/MongoDBDatabase-selectCollection
5660
/reference/method/MongoDBDatabase-selectGridFSBucket

docs/reference/class/MongoDBGridFSBucket.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ Methods
4545
/reference/method/MongoDBGridFSBucket-getDatabaseName
4646
/reference/method/MongoDBGridFSBucket-getFileDocumentForStream
4747
/reference/method/MongoDBGridFSBucket-getFileIdForStream
48+
/reference/method/MongoDBGridFSBucket-getReadConcern
49+
/reference/method/MongoDBGridFSBucket-getReadPreference
50+
/reference/method/MongoDBGridFSBucket-getTypeMap
51+
/reference/method/MongoDBGridFSBucket-getWriteConcern
4852
/reference/method/MongoDBGridFSBucket-openDownloadStream
4953
/reference/method/MongoDBGridFSBucket-openDownloadStreamByName
5054
/reference/method/MongoDBGridFSBucket-openUploadStream
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
========================================
2+
MongoDB\\Client::getReadConcern()
3+
========================================
4+
5+
.. default-domain:: mongodb
6+
7+
.. contents:: On this page
8+
:local:
9+
:backlinks: none
10+
:depth: 1
11+
:class: singlecol
12+
13+
Definition
14+
----------
15+
16+
.. phpmethod:: MongoDB\\Client::getReadConcern()
17+
18+
Accessor for the
19+
:php:`MongoDB\\Driver\\ReadConcern <class.mongodb-driver-readconcern>` used by this
20+
:phpclass:`Client <MongoDB\\Client>`.
21+
22+
Returns the default read concern of this client.
23+
24+
.. code-block:: php
25+
26+
function getReadConcern(): MongoDB\Driver\ReadConcern
27+
28+
Return Values
29+
-------------
30+
31+
A :php:`MongoDB\\Driver\\ReadConcern <class.mongodb-driver-readconcern>` object.
32+
33+
Example
34+
-------
35+
36+
.. code-block:: php
37+
38+
<?php
39+
40+
$readConcern = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::MAJORITY);
41+
$client = new MongoDB\Client(
42+
'mongodb://127.0.0.1/',
43+
['readConcernLevel' => MongoDB\Driver\ReadConcern::MAJORITY]
44+
);
45+
46+
MongoDB\Driver\ReadConcern::MAJORITY === $client->getReadConcern()->getLevel(); // true
47+
48+
See Also
49+
--------
50+
51+
- :phpmethod:`MongoDB\\Collection::getReadConcern()`
52+
- :phpmethod:`MongoDB\\Database::getReadConcern()`
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
========================================
2+
MongoDB\\Client::getReadPreference()
3+
========================================
4+
5+
.. default-domain:: mongodb
6+
7+
.. contents:: On this page
8+
:local:
9+
:backlinks: none
10+
:depth: 1
11+
:class: singlecol
12+
13+
Definition
14+
----------
15+
16+
.. phpmethod:: MongoDB\\Client::getReadPreference()
17+
18+
Accessor for the
19+
:php:`MongoDB\\Driver\\ReadPreference <class.mongodb-driver-readpreference>` used by this
20+
:phpclass:`Client <MongoDB\\Client>`.
21+
22+
Returns the default read preference of this client.
23+
24+
.. code-block:: php
25+
26+
function getReadPreference(): MongoDB\Driver\ReadPreference
27+
28+
Return Values
29+
-------------
30+
31+
A :php:`MongoDB\\Driver\\ReadPreference <class.mongodb-driver-readpreference>` object.
32+
33+
Example
34+
-------
35+
36+
.. code-block:: php
37+
38+
<?php
39+
40+
$client = new MongoDB\Client(
41+
'test',
42+
[
43+
'readPreference' => MongoDB\Driver\ReadPreference::RP_PRIMARY,
44+
'readPreferenceTags' => ['foo' => 'bar', 'spam' => 'egg'],
45+
'maxStalenessSeconds' => 150,
46+
]
47+
);
48+
49+
$readPreference = $client->getReadPreference();
50+
51+
MongoDB\Driver\ReadPreference::RP_PRIMARY === $readPreference->getMode(); // true
52+
['foo' => 'bar', 'spam' => 'egg'] === $readPreference->getTags(); // true
53+
150 = $readPreference->getMaxStalenessSeconds(); // true
54+
55+
See Also
56+
--------
57+
58+
- :phpmethod:`MongoDB\\Collection::getReadPreference()`
59+
- :phpmethod:`MongoDB\\Database::getReadPreference()`
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
========================================
2+
MongoDB\\Client::getTypeMap()
3+
========================================
4+
5+
.. default-domain:: mongodb
6+
7+
.. contents:: On this page
8+
:local:
9+
:backlinks: none
10+
:depth: 1
11+
:class: singlecol
12+
13+
Definition
14+
----------
15+
16+
.. phpmethod:: MongoDB\\Client::getTypeMap()
17+
18+
Accessor for the type map used by this :phpclass:`Client <MongoDB\\Client>`.
19+
20+
.. code-block:: php
21+
22+
function getTypeMap(): array
23+
24+
Return Values
25+
-------------
26+
27+
A type map array.
28+
29+
Example
30+
-------
31+
32+
.. code-block:: php
33+
34+
<?php
35+
36+
$typeMap = ['root' => 'array', 'document' => 'array', 'array' => 'array'];
37+
$client = new MongoDB\Client('mongodb://127.0.0.1/', [], ['typeMap' => $typeMap]);
38+
$client->getTypeMap() === $typeMap; //true
39+
var_dump($client->getTypeMap());
40+
41+
The output will be as follows:
42+
43+
array(3) {
44+
["root"]=>
45+
string(5) "array"
46+
["document"]=>
47+
string(5) "array"
48+
["array"]=>
49+
string(5) "array"
50+
}
51+
52+
See Also
53+
--------
54+
55+
- :phpmethod:`MongoDB\\Collection::getTypeMap()`
56+
- :phpmethod:`MongoDB\\Database::getTypeMap()`
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
========================================
2+
MongoDB\\Client::getWriteConcern()
3+
========================================
4+
5+
.. default-domain:: mongodb
6+
7+
.. contents:: On this page
8+
:local:
9+
:backlinks: none
10+
:depth: 1
11+
:class: singlecol
12+
13+
Definition
14+
----------
15+
16+
.. phpmethod:: MongoDB\\Client::getWriteConcern()
17+
18+
Accessor for the
19+
:php:`MongoDB\\Driver\\WriteConcern <class.mongodb-driver-writeconcern>` used by this
20+
:phpclass:`Client <MongoDB\\Client>`.
21+
22+
Returns the default write concern of this client.
23+
24+
.. code-block:: php
25+
26+
function getWriteConcern(): MongoDB\Driver\WriteConcern
27+
28+
Return Values
29+
-------------
30+
31+
A :php:`MongoDB\\Driver\\WriteConcern <class.mongodb-driver-writeconcern>` object.
32+
33+
Example
34+
-------
35+
36+
.. code-block:: php
37+
38+
<?php
39+
40+
$client = new MongoDB\Client('mongodb://127.0.0.1', ['w' => 1, 'wTimeoutMS' => 100, 'journal' => true]);
41+
$writeConcern = $client->getWriteConcern();
42+
1 === $writeConcern->getW(); // true
43+
100 === $writeConcern->getWtimeout(); // true
44+
$writeConcern->getJournal(); // true
45+
46+
See Also
47+
--------
48+
49+
- :phpmethod:`MongoDB\\Collection::getWriteConcern()`
50+
- :phpmethod:`MongoDB\\Database::getWriteConcern()`
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
========================================
2+
MongoDB\\Collection::getReadConcern()
3+
========================================
4+
5+
.. default-domain:: mongodb
6+
7+
.. contents:: On this page
8+
:local:
9+
:backlinks: none
10+
:depth: 1
11+
:class: singlecol
12+
13+
Definition
14+
----------
15+
16+
.. phpmethod:: MongoDB\\Collection::getReadConcern()
17+
18+
Accessor for the
19+
:php:`MongoDB\\Driver\\ReadConcern <class.mongodb-driver-readconcern>` used by this
20+
:phpclass:`Collection <MongoDB\\Collection>`.
21+
22+
Returns the default read concern of this collection.
23+
24+
.. code-block:: php
25+
26+
function getReadConcern(): MongoDB\Driver\ReadConcern
27+
28+
Return Values
29+
-------------
30+
31+
A :php:`MongoDB\\Driver\\ReadConcern <class.mongodb-driver-readconcern>` object.
32+
33+
Example
34+
-------
35+
36+
.. code-block:: php
37+
38+
<?php
39+
40+
$readConcern = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::MAJORITY);
41+
$collection = (new MongoDB\Client)->test->selectCollection('test', ['readConcern' => $readConcern]);
42+
43+
$collection->getReadConcern() === $readConcern; // true
44+
45+
See Also
46+
--------
47+
48+
- :phpmethod:`MongoDB\\Client::getReadConcern()`
49+
- :phpmethod:`MongoDB\\Database::getReadConcern()`
50+
- :phpmethod:`MongoDB\\GridFS\Bucket::getReadConcern()`
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
========================================
2+
MongoDB\\Collection::getReadPreference()
3+
========================================
4+
5+
.. default-domain:: mongodb
6+
7+
.. contents:: On this page
8+
:local:
9+
:backlinks: none
10+
:depth: 1
11+
:class: singlecol
12+
13+
Definition
14+
----------
15+
16+
.. phpmethod:: MongoDB\\Collection::getReadPreference()
17+
18+
Accessor for the
19+
:php:`MongoDB\\Driver\\ReadPreference <class.mongodb-driver-readpreference>` used by this
20+
:phpclass:`Collection <MongoDB\\Collection>`.
21+
22+
Returns the default read preference of this collection.
23+
24+
.. code-block:: php
25+
26+
function getReadPreference(): MongoDB\Driver\ReadPreference
27+
28+
Return Values
29+
-------------
30+
31+
A :php:`MongoDB\\Driver\\ReadPreference <class.mongodb-driver-readpreference>` object.
32+
33+
Example
34+
-------
35+
36+
.. code-block:: php
37+
38+
<?php
39+
40+
$readPreference = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
41+
$collection = (new MongoDB\Client)->test->selectCollection(
42+
'test',
43+
['readPreference' => $readPreference]
44+
);
45+
46+
$collection->getReadPreference() === $readPreference; // true
47+
48+
See Also
49+
--------
50+
51+
- :phpmethod:`MongoDB\\Client::getReadPreference()`
52+
- :phpmethod:`MongoDB\\Database::getReadPreference()`
53+
- :phpmethod:`MongoDB\\GridFS\\Bucket::getReadPreference()`

0 commit comments

Comments
 (0)