Skip to content

Commit c5a3d23

Browse files
committed
Merge branch '3.4' into 4.3
* 3.4: Add container.hot_path to built-in service tags Removed the Debug component BC promise: only optional arguments can be removed
2 parents c07ea4a + 8856e20 commit c5a3d23

File tree

5 files changed

+31
-95
lines changed

5 files changed

+31
-95
lines changed

_build/redirection_map

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,7 @@
428428
/contributing/community/other /contributing/community
429429
/profiler/storage /profiler
430430
/setup/composer /setup
431+
<<<<<<< HEAD
431432
/security/security_checker /setup
432433
/service_container/parameters /configuration
433434
/routing/generate_url_javascript /routing
@@ -473,3 +474,4 @@
473474
/best_practices/security /best_practices
474475
/best_practices/web-assets /best_practices
475476
/best_practices/tests /best_practices
477+
/components/debug https://github.com/symfony/debug

components/debug.rst

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

configuration/front_controllers_and_kernel.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ to `decorate`_ the kernel with additional features. Examples include:
4242
* Configuring the autoloader or adding additional autoloading mechanisms;
4343
* Adding HTTP level caching by wrapping the kernel with an instance of
4444
:ref:`HttpCache <symfony-gateway-cache>`;
45-
* Enabling the :doc:`Debug Component </components/debug>`.
45+
* Enabling the `Debug component`_.
4646

4747
You can choose the front controller that's used by adding it in the URL, like:
4848

@@ -264,3 +264,4 @@ includes the following:
264264

265265
.. _`front controller`: https://en.wikipedia.org/wiki/Front_Controller_pattern
266266
.. _`decorate`: https://en.wikipedia.org/wiki/Decorator_pattern
267+
.. _Debug component: https://github.com/symfony/debug

contributing/code/bc.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ Change name No
204204
Move to parent interface Yes
205205
Add argument without a default value No
206206
Add argument with a default value No
207-
Remove argument Yes [3]_
207+
Remove argument No [3]_
208208
Add default value to an argument No
209209
Remove default value of an argument No
210210
Add type hint to an argument No
@@ -272,7 +272,7 @@ Make final No [6]_
272272
Move to parent class Yes
273273
Add argument without a default value No
274274
Add argument with a default value No [7]_ [8]_
275-
Remove argument Yes [3]_
275+
Remove argument No [3]_
276276
Add default value to an argument No [7]_ [8]_
277277
Remove default value of an argument No
278278
Add type hint to an argument No [7]_ [8]_
@@ -291,7 +291,7 @@ Make public No [7]_ [8]_
291291
Move to parent class Yes
292292
Add argument without a default value No [7]_
293293
Add argument with a default value No [7]_ [8]_
294-
Remove argument Yes [3]_
294+
Remove argument No [3]_
295295
Add default value to an argument No [7]_ [8]_
296296
Remove default value of an argument No [7]_
297297
Add type hint to an argument No [7]_ [8]_
@@ -416,8 +416,8 @@ Turn static into non static No
416416
.. [2] The added parent interface must not introduce any new methods that don't
417417
exist in the interface already.
418418
419-
.. [3] Only the last argument(s) of a method may be removed, as PHP does not
420-
care about additional arguments that you pass to a method.
419+
.. [3] Only the last optional argument(s) of a method may be removed, as PHP
420+
does not care about additional arguments that you pass to a method.
421421
422422
.. [4] When changing the parent class, the original parent class must remain an
423423
ancestor of the class.

reference/dic_tags.rst

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Tag Name Usage
1313
======================================== ========================================================================
1414
`auto_alias`_ Define aliases based on the value of container parameters
1515
`console.command`_ Add a command
16+
`container.hot_path`_ Add to list of always needed services
1617
`controller.argument_value_resolver`_ Register a value resolver for controller arguments such as ``Request``
1718
`data_collector`_ Create a class that collects custom data for the profiler
1819
`doctrine.event_listener`_ Add a Doctrine event listener
@@ -181,6 +182,27 @@ console.command
181182
For details on registering your own commands in the service container, read
182183
:doc:`/console/commands_as_services`.
183184

185+
container.hot_path
186+
------------------
187+
188+
.. versionadded:: 3.4
189+
190+
The ``container.hot_path`` tag was introduced in Symfony 3.4.
191+
192+
**Purpose**: Add to list of always needed services
193+
194+
This tag identifies the services that are always needed. It is only applied to
195+
a very short list of bootstrapping services (like ``router``, ``event_dispatcher``,
196+
``http_kernel``, ``request_stack``, etc.). Then, it is propagated to all dependencies
197+
of these services, with a special case for event listeners, where only listed events
198+
are propagated to their related listeners.
199+
200+
It will replace, in cache for generated service factories, the PHP autoload by
201+
plain inlined ``include_once``. The benefit is a complete bypass of the autoloader
202+
for services and their class hierarchy. The result is as significant performance improvement.
203+
204+
Use this tag with great caution, you have to be sure that the tagged service is always used.
205+
184206
controller.argument_value_resolver
185207
----------------------------------
186208

0 commit comments

Comments
 (0)