File tree 1 file changed +15
-4
lines changed
1 file changed +15
-4
lines changed Original file line number Diff line number Diff line change @@ -39,8 +39,14 @@ are marked with an ``@api`` tag in their source code. For example::
39
39
interface HttpKernelInterface
40
40
{
41
41
42
- When using these interfaces, we guarantee full backwards compatibility for the
43
- following use cases:
42
+ In simple words, the difference between regular and API interfaces is that you
43
+ can implement API interfaces yourself and we will guarantee full backwards
44
+ compatibility. The same is not true for regular interfaces: We may, for example,
45
+ add an optional parameter or a new method to them and thus break your own
46
+ implementation.
47
+
48
+ In detail, we guarantee full backwards compatibility for the following use
49
+ cases:
44
50
45
51
============================================== ============== ==============
46
52
Use Case Regular API
@@ -80,8 +86,13 @@ Like API interfaces, API classes are marked with an ``@api`` tag::
80
86
class Request
81
87
{
82
88
83
- When using these classes, we guarantee full backwards compatibility for the
84
- following use cases:
89
+ The difference between regular and API classes is that we guarantee full
90
+ backwards compatibility if you extend an API class and override its methods,
91
+ but not for regular classes. In regular classes, we may for example add an
92
+ optional parameter to a method and thus break your overridden method.
93
+
94
+ Again, here are the details about which use cases we guarantee full backwards
95
+ compatibility for:
85
96
86
97
============================================== ============== ==============
87
98
Use Case Regular API
You can’t perform that action at this time.
0 commit comments