Skip to content

Commit cc8a35e

Browse files
committed
Deprecate extension via Doctrine Event Manager
1 parent 01e837f commit cc8a35e

File tree

7 files changed

+61
-36
lines changed

7 files changed

+61
-36
lines changed

UPGRADE.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,17 @@ awareness about deprecated code.
88

99
# Upgrade to 3.5
1010

11+
## Deprecated extension via Doctrine Event Manager
12+
13+
Extension of the library behavior via Doctrine Event Manager has been deprecated.
14+
15+
The following methods and properties have been deprecated:
16+
- `AbstractPlatform::$_eventManager`,
17+
- `AbstractPlatform::getEventManager()`,
18+
- `AbstractPlatform::setEventManager()`,
19+
- `Connection::$_eventManager`,
20+
- `Connection::getEventManager()`.
21+
1122
## Deprecated extension via connection events
1223

1324
Subscription to the `postConnect` event has been deprecated. Use one of the following replacements for the standard

docs/en/reference/events.rst

Lines changed: 0 additions & 33 deletions
This file was deleted.

docs/en/sidebar.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
reference/types
1212
reference/schema-manager
1313
reference/schema-representation
14-
reference/events
1514
reference/security
1615
reference/supporting-other-databases
1716
reference/portability

psalm.xml.dist

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@
122122
<referencedClass name="Doctrine\DBAL\Event\Listeners\OracleSessionInit"/>
123123
<referencedClass name="Doctrine\DBAL\Event\Listeners\SQLSessionInit"/>
124124
<referencedClass name="Doctrine\DBAL\Event\Listeners\SQLiteSessionInit"/>
125+
<referencedClass name="Doctrine\DBAL\Events"/>
125126
</errorLevel>
126127
</DeprecatedClass>
127128
<DeprecatedConstant>
@@ -491,6 +492,11 @@
491492
TODO: remove in 4.0.0
492493
-->
493494
<referencedMethod name="Doctrine\DBAL\Query\QueryBuilder::getConnection"/>
495+
<!--
496+
TODO: remove in 4.0.0
497+
-->
498+
<referencedMethod name="Doctrine\DBAL\Connection::getEventManager"/>
499+
<referencedMethod name="Doctrine\DBAL\Platforms\AbstractPlatform::setEventManager"/>
494500
</errorLevel>
495501
</DeprecatedMethod>
496502
<DeprecatedProperty>
@@ -544,6 +550,11 @@
544550
TODO: remove in 4.0.0
545551
-->
546552
<referencedProperty name="Doctrine\DBAL\Schema\SchemaDiff::$orphanedForeignKeys"/>
553+
<!--
554+
TODO: remove in 4.0.0
555+
-->
556+
<referencedProperty name="Doctrine\DBAL\Connection::$_eventManager"/>
557+
<referencedProperty name="Doctrine\DBAL\Platforms\AbstractPlatform::$_eventManager"/>
547558
</errorLevel>
548559
</DeprecatedProperty>
549560
<DocblockTypeContradiction>

src/Connection.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,11 @@ class Connection
8080
/** @var Configuration */
8181
protected $_config;
8282

83-
/** @var EventManager */
83+
/**
84+
* @deprecated
85+
*
86+
* @var EventManager
87+
*/
8488
protected $_eventManager;
8589

8690
/**
@@ -256,10 +260,19 @@ public function getConfiguration()
256260
/**
257261
* Gets the EventManager used by the Connection.
258262
*
263+
* @deprecated
264+
*
259265
* @return EventManager
260266
*/
261267
public function getEventManager()
262268
{
269+
Deprecation::triggerIfCalledFromOutside(
270+
'doctrine/dbal',
271+
'https://github.com/doctrine/dbal/issues/5784',
272+
'%s is deprecated.',
273+
__METHOD__,
274+
);
275+
263276
return $this->_eventManager;
264277
}
265278

src/Events.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
* Container for all DBAL events.
77
*
88
* This class cannot be instantiated.
9+
*
10+
* @deprecated
911
*/
1012
final class Events
1113
{

src/Platforms/AbstractPlatform.php

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,11 @@ abstract class AbstractPlatform
8989
*/
9090
protected $doctrineTypeComments;
9191

92-
/** @var EventManager|null */
92+
/**
93+
* @deprecated
94+
*
95+
* @var EventManager|null
96+
*/
9397
protected $_eventManager;
9498

9599
/**
@@ -102,20 +106,38 @@ abstract class AbstractPlatform
102106
/**
103107
* Sets the EventManager used by the Platform.
104108
*
109+
* @deprecated
110+
*
105111
* @return void
106112
*/
107113
public function setEventManager(EventManager $eventManager)
108114
{
115+
Deprecation::triggerIfCalledFromOutside(
116+
'doctrine/dbal',
117+
'https://github.com/doctrine/dbal/issues/5784',
118+
'%s is deprecated.',
119+
__METHOD__,
120+
);
121+
109122
$this->_eventManager = $eventManager;
110123
}
111124

112125
/**
113126
* Gets the EventManager used by the Platform.
114127
*
128+
* @deprecated
129+
*
115130
* @return EventManager|null
116131
*/
117132
public function getEventManager()
118133
{
134+
Deprecation::triggerIfCalledFromOutside(
135+
'doctrine/dbal',
136+
'https://github.com/doctrine/dbal/issues/5784',
137+
'%s is deprecated.',
138+
__METHOD__,
139+
);
140+
119141
return $this->_eventManager;
120142
}
121143

0 commit comments

Comments
 (0)