@@ -57,7 +57,7 @@ Operation Normal API
57
57
Type hint against Safe Safe
58
58
Use method Safe Safe
59
59
**When Implementing **
60
- Implement method Not Safe Safe
60
+ Implement method Not Safe [ 1 ]_ Safe
61
61
Add custom method Not Safe Not Safe
62
62
Add custom method parameter Not Safe Not Safe
63
63
Add parameter default value Safe Safe
@@ -75,20 +75,20 @@ Type of Change Normal API
75
75
============================================== ============== ==============
76
76
Remove entirely No No
77
77
Change name or namespace No No
78
- Add parent interface Yes [1 ]_ No
78
+ Add parent interface Yes [2 ]_ No
79
79
Remove parent interface No No
80
80
**Methods **
81
- Add method Yes [1 ]_ No
81
+ Add method Yes [2 ]_ No
82
82
Remove method No No
83
83
Change name No No
84
84
Add parameter without a default value No No
85
- Add parameter with a default value Yes [1 ]_ No
86
- Remove parameter Yes [2 ]_ Yes [2 ]_
87
- Add default value to a parameter Yes [1 ]_ No
85
+ Add parameter with a default value Yes [2 ]_ No
86
+ Remove parameter Yes [3 ]_ Yes [3 ]_
87
+ Add default value to a parameter Yes [2 ]_ No
88
88
Remove default value of a parameter No No
89
89
Add type hint to a parameter No No
90
- Remove type hint of a parameter Yes [1 ]_ No
91
- Change return type Yes [1 ]_ [3 ]_ No
90
+ Remove type hint of a parameter Yes [2 ]_ No
91
+ Change return type Yes [2 ]_ [4 ]_ No
92
92
============================================== ============== ==============
93
93
94
94
@@ -148,12 +148,12 @@ Extend Safe Safe
148
148
Use public property Safe Safe
149
149
Use public method Safe Safe
150
150
**When Extending **
151
- Use protected property Not Safe Safe
152
- Use protected method Not Safe Safe
151
+ Use protected property Not Safe [ 1 ]_ Safe
152
+ Use protected method Not Safe [ 1 ]_ Safe
153
153
Override public property Safe Safe
154
- Override protected property Not Safe Safe
155
- Override public method Not Safe Safe
156
- Override protected method Not Safe Safe
154
+ Override protected property Not Safe [ 1 ]_ Safe
155
+ Override public method Not Safe [ 1 ]_ Safe
156
+ Override protected method Not Safe [ 1 ]_ Safe
157
157
Add custom method Not Safe Not Safe
158
158
Add custom method parameter Not Safe Not Safe
159
159
Add parameter default value Safe Safe
@@ -170,10 +170,10 @@ code of Symfony's classes
170
170
Type of Change Normal API
171
171
================================================== ============== ==============
172
172
Remove entirely No No
173
- Make final Yes [1 ]_ No
173
+ Make final Yes [2 ]_ No
174
174
Make abstract No No
175
175
Change name or namespace No No
176
- Change parent class Yes [4 ]_ Yes [4 ]_
176
+ Change parent class Yes [5 ]_ Yes [5 ]_
177
177
Add interface Yes Yes
178
178
Remove interface No No
179
179
**Public Properties **
@@ -182,48 +182,51 @@ Remove public property No No
182
182
Reduce visibility No No
183
183
**Protected Properties **
184
184
Add protected property Yes Yes
185
- Remove protected property Yes [1 ]_ No
186
- Reduce visibility Yes [1 ]_ No
185
+ Remove protected property Yes [2 ]_ No
186
+ Reduce visibility Yes [2 ]_ No
187
187
**Constructors **
188
- Add constructor without mandatory parameters Yes [1 ]_ Yes [1 ]_
189
- Remove constructor Yes [1 ]_ No
188
+ Add constructor without mandatory parameters Yes [2 ]_ Yes [2 ]_
189
+ Remove constructor Yes [2 ]_ No
190
190
Reduce visibility of a public constructor No No
191
- Reduce visibility of a protected constructor Yes [1 ]_ No
191
+ Reduce visibility of a protected constructor Yes [2 ]_ No
192
192
**Public Methods **
193
193
Add public method Yes Yes
194
194
Remove public method No No
195
195
Change name No No
196
196
Reduce visibility No No
197
197
Add parameter without a default value No No
198
- Add parameter with a default value Yes [1 ]_ No
199
- Remove parameter Yes [2 ]_ Yes [2 ]_
200
- Add default value to a parameter Yes [1 ]_ No
198
+ Add parameter with a default value Yes [2 ]_ No
199
+ Remove parameter Yes [3 ]_ Yes [3 ]_
200
+ Add default value to a parameter Yes [2 ]_ No
201
201
Remove default value of a parameter No No
202
- Add type hint to a parameter Yes [5 ]_ No
203
- Remove type hint of a parameter Yes [1 ]_ No
204
- Change return type Yes [1 ]_ [3 ]_ No
202
+ Add type hint to a parameter Yes [6 ]_ No
203
+ Remove type hint of a parameter Yes [2 ]_ No
204
+ Change return type Yes [2 ]_ [4 ]_ No
205
205
**Protected Methods **
206
206
Add protected method Yes Yes
207
- Remove protected method Yes [1 ]_ No
207
+ Remove protected method Yes [2 ]_ No
208
208
Change name No No
209
- Reduce visibility Yes [1 ]_ No
210
- Add parameter without a default value Yes [1 ]_ No
211
- Add parameter with a default value Yes [1 ]_ No
212
- Remove parameter Yes [2 ]_ Yes [2 ]_
213
- Add default value to a parameter Yes [1 ]_ No
214
- Remove default value of a parameter Yes [1 ]_ No
215
- Add type hint to a parameter Yes [1 ]_ No
216
- Remove type hint of a parameter Yes [1 ]_ No
217
- Change return type Yes [1 ]_ [3 ]_ No
209
+ Reduce visibility Yes [2 ]_ No
210
+ Add parameter without a default value Yes [2 ]_ No
211
+ Add parameter with a default value Yes [2 ]_ No
212
+ Remove parameter Yes [3 ]_ Yes [3 ]_
213
+ Add default value to a parameter Yes [2 ]_ No
214
+ Remove default value of a parameter Yes [2 ]_ No
215
+ Add type hint to a parameter Yes [2 ]_ No
216
+ Remove type hint of a parameter Yes [2 ]_ No
217
+ Change return type Yes [2 ]_ [4 ]_ No
218
218
================================================== ============== ==============
219
219
220
220
221
- .. [1 ] Should be avoided. When done, this change must be documented in the
221
+ .. [1 ] Your code may be broken by changes in the Symfony code. Such changes will
222
+ however be documented in the UPGRADE file.
223
+
224
+ .. [2 ] Should be avoided. When done, this change must be documented in the
222
225
UGPRADE file.
223
226
224
- .. [2 ] Only the last parameter(s) of a method may be removed.
227
+ .. [3 ] Only the last parameter(s) of a method may be removed.
225
228
226
- .. [3 ] The return type may only be changed to compatible types. The following
229
+ .. [4 ] The return type may only be changed to compatible types. The following
227
230
type changes are allowed:
228
231
229
232
=================== ==================================================================
@@ -239,10 +242,10 @@ Change return type Yes [1]_ [3]_ No
239
242
``Countable `` array
240
243
=================== ==================================================================
241
244
242
- .. [4 ] When changing the parent class, the original parent class must remain an
245
+ .. [5 ] When changing the parent class, the original parent class must remain an
243
246
ancestor of the class.
244
247
245
- .. [5 ] A type hint may only be added if passing a value with a different type
248
+ .. [6 ] A type hint may only be added if passing a value with a different type
246
249
previously generated a fatal error.
247
250
248
251
.. _scalar type : http://php.net/manual/en/function.is-scalar.php
0 commit comments