Commit Graph

39028 Commits

Author SHA1 Message Date
Nicolas Grekas
6a5d7a1aac [Messenger] make middlewares truly lazy on a bus 2018-10-21 15:50:49 +02:00
Samuel ROZE
f24794da31 feature #28914 [Messenger] make Envelope first class citizen for middleware handlers (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] make Envelope first class citizen for middleware handlers

| Q             | A
| ------------- | ---
| Branch?       | 4.2
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

This PR sits on top of #28909 so that only the 2nd commit should be reviewed for now, until I rebase it.
This idea has already been proposed and rejected in #27322.
Yet, now that I've reviewed in depth the component, I politely but strongly suggest to reconsider.
Middleware handlers are the central piece of the routing layer.
When `dispatch()` accepts `object|Envelope`, it's because it sits on the outer boundary of the component. `handle()` on the contrary plugs inside its core routing logic, so that it's very legitimate to require them to deal with `Envelope` objects. Yes, some middleware care only about the message inside. That's fine calling `getMessage()` for them.

Right now, we built a complex magic layer that acts as a band-aid *just* to save this call to `getMessage()`. For middleware that want the envelope, we require an additional interface that magically *changes* the expected argument. That's very fragile design: it breaks the `L` in `SOLID`...

Looking at the diff stat, this is most natural.

Commits
-------

ae46a436e7 [Messenger] make Envelope first class citizen for middleware handlers
2018-10-21 14:14:24 +01:00
Roland Franssen
2c4cb06f0e [WebProfilerBundle] Disable messenger panel if needed 2018-10-21 14:56:03 +02:00
Nicolas Grekas
ae46a436e7 [Messenger] make Envelope first class citizen for middleware handlers 2018-10-21 14:43:41 +02:00
Samuel ROZE
d901c6d846 feature #28909 [Messenger] made dispatch() and handle() return void (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] made dispatch() and handle() return void

| Q             | A
| ------------- | ---
| Branch?       | 4.2
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Middlewares and dispatchers should not return any value. Forwarding back the results from handlers breaks the scope of the component. The canonical example of some bad design this can lead to is `ChainHandler`: how can the caller know that there is one in the chain and that it should expect an array as a return value? More generally, how can a caller know what to expect back from a call to dispatch()? I think we should not allow such broken designs.

Instead, we should favor east-oriented design: if one needs a command bus, one would have to dispatch a proper command object - and if a result is expected back, it should be done via a setter on the dispatched command - or better, a callback set on the command object. This way we play *by the rules* of the type-system, not against.

Commits
-------

f942ffcb1b [Messenger] made dispatch() and handle() return void
2018-10-21 13:42:19 +01:00
Roland Franssen
11dbd1d40e [TwigBundle] Right trim plain text traces 2018-10-21 11:14:09 +02:00
Fabien Potencier
316e95c06c feature #28936 [WebProfilerBundle] Replay referer URL (ro0NL)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[WebProfilerBundle] Replay referer URL

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #26226
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

For non GET/HEAD requests (e.g. POST) that have a referer URL; allow to replay it. And thereby fix the missing navigation piece to get back to your application.

Default

![image](https://user-images.githubusercontent.com/1047696/47259042-3c86ea80-d4a4-11e8-99f7-c3941beaa72c.png)

On hover

![image](https://user-images.githubusercontent.com/1047696/47259048-54f70500-d4a4-11e8-9e44-e20121f5b04f.png)

Commits
-------

9020d49765 [WebProfilerBundle] Replay referer URL
2018-10-21 08:57:01 +02:00
Fabien Potencier
efa4f16ed1 bug #28913 Fix debug:container which crash when the service class has no doc comment (l-vo)
This PR was merged into the 4.2-dev branch.

Discussion
----------

Fix debug:container which crash when the service class has no doc comment

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

The console command container:debug have now the ability to display service description, based on phpdoc comments of the service class. But the command currently crash when selecting a service with a class without phpdoc description.

This PR fixes this issue.

Commits
-------

aed0a5a38a [FrameworkBundle] Fix debug:container which crash when the service class has no doc comment
2018-10-21 08:53:32 +02:00
Fabien Potencier
4877d60a74 feature #28893 [TwigBundle] Fix usage of TwigBundle without FrameworkBundle (tgalopin)
This PR was squashed before being merged into the 3.4 branch (closes #28893).

Discussion
----------

[TwigBundle] Fix usage of TwigBundle without FrameworkBundle

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

According to the composer.json (https://github.com/symfony/symfony/blob/master/src/Symfony/Bundle/TwigBundle/composer.json), the FrameworkBundle shouldn't be required to use the bundle (which can be useful in tests of other bundles for instance). However, it is not the case, mainly due to issues with direct references to unavailable services.

I target 3.4 because 812fbb444f is the main reason for the issue. We may have added additional problems in 4.0 and 4.1.

Commits
-------

246a905f93 [TwigBundle] Fix usage of TwigBundle without FrameworkBundle
2018-10-21 08:50:28 +02:00
Titouan Galopin
246a905f93 [TwigBundle] Fix usage of TwigBundle without FrameworkBundle 2018-10-21 08:50:17 +02:00
Fabien Potencier
c620a3bd7f feature #28891 [TwigBundle] Deprecating support for legacy templates directories (yceruto)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[TwigBundle] Deprecating support for legacy templates directories

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/10500

go ahead with https://github.com/symfony/symfony/pull/28810#issuecomment-430245394

- [x] Fix tests

Commits
-------

8b390f346f Deprecating support for legacy templates directories
2018-10-21 08:42:32 +02:00
Dariusz Ruminski
6f83d9f9a3 Revert "fixed CS"
This reverts commit d48a3776fe.
2018-10-21 01:16:31 +02:00
Nicolas Grekas
f1795c07e6 bug #28889 [Serializer] Reduce class discriminator overhead (fbourigault)
This PR was merged into the 4.1 branch.

Discussion
----------

[Serializer] Reduce class discriminator overhead

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #28537
| License       | MIT
| Doc PR        | N/A

This try to fix the overhead added by class discriminator feature.

Here is a 4.1 vs this PR comparison:
https://blackfire.io/profiles/compare/20ead249-0e98-430f-9b8d-906f464b1854/graph

And a 3.4 vs this PR comparison:
https://blackfire.io/profiles/compare/7e402dde-4a54-4053-a12e-d3d6891afc02/graph

Commits
-------

326c267de2 [Serializer] Reduce class discriminator overhead
2018-10-20 23:23:03 +02:00
Fabien Bourigault
326c267de2 [Serializer] Reduce class discriminator overhead 2018-10-20 23:22:07 +02:00
Nicolas Grekas
060751d4e1 bug #28861 [DependencyInjection] Skip empty proxy code (olvlvl)
This PR was merged into the 2.8 branch.

Discussion
----------

[DependencyInjection] Skip empty proxy code

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #28852
| License       | MIT

Fix https://github.com/symfony/symfony/issues/28852

@nicolas-grekas I'm not sure which branch this should be applied to, please let me know.

Commits
-------

baf6f8cc34 Skip empty proxy code
2018-10-20 22:22:40 +02:00
Olivier Laviale
baf6f8cc34 Skip empty proxy code 2018-10-20 22:20:36 +02:00
Nicolas Grekas
915870e0a3 bug #28904 [Serializer] fix MetadataAwareNameConverter break denormalization (Britaliope)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Serializer] fix MetadataAwareNameConverter break denormalization

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |  -
| License       | MIT
| Doc PR        |  -

During denormalization of an object, the `normalize` function of the `MetadataAwareNormalizer` is called to find the serialized name of constructor arguments. This do not work if the constructor argument is not in the serialized representation of the object (for example given with a `default_constructor_arguments` option ).

**Checklist**
- [x] Add test to cover the bug

Commits
-------

faf8b009dc [Serializer] fix MetadataAwareNameConverter break denormalization
2018-10-20 20:21:07 +02:00
Roland Franssen
9020d49765 [WebProfilerBundle] Replay referer URL 2018-10-20 20:06:30 +02:00
Nicolas Grekas
69d04b5dcb minor #28921 [FrameworkBundle] Fix CacheInterface ns (ogizanagi)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[FrameworkBundle] Fix CacheInterface ns

| Q             | A
| ------------- | ---
| Branch?       | master <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | N/A   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

(used for cache pools autowiring aliases for arguments)

Commits
-------

298a60dc19 [FrameworkBundle] Fix CacheInterface ns
2018-10-20 20:00:42 +02:00
Nicolas Grekas
f942ffcb1b [Messenger] made dispatch() and handle() return void 2018-10-20 15:00:30 +02:00
Nicolas Grekas
4d757b5382 feature #28911 [Messenger] rename "envelope items" and move them in the "Stamp" namespace (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] rename "envelope items" and move them in the "Stamp" namespace

| Q             | A
| ------------- | ---
| Branch?       | 4.2
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Right now, envelope items are scattered in different sub namespaces and use the "Configuration" suffix.
This makes them hard to discover.
This PR creates a new `Stamp` namespace and moves all "envelope items" there, renaming them to use the "stamp" terminology.

From the changelog:
 * `Envelope`'s constructor and `with` method now accept `StampInterface` objects as variadic parameters
 * Renamed `EnvelopeItemInterface` to `StampInterface`
 * Renamed and moved `ReceivedMessage`, `ValidationConfiguration` and `SerializerConfiguration` in the `Stamp` namespace
 * Removed the `WrapIntoReceivedMessage` (it's untested and unused)

Commits
-------

0ad2cb906d [Messenger] rename "envelope items" and move them in the "Stamp" namespace
2018-10-20 14:56:47 +02:00
Fabien Potencier
6a50405483 minor #28930 [Security] Fix "exclude-from-classmap" (acasademont)
This PR was merged into the 2.8 branch.

Discussion
----------

[Security] Fix "exclude-from-classmap"

| Q             | A
| ------------- | ---
| Branch?       | 2.8
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

The "/Tests/" directory doesn't exist in the Security Component, tests are located within the Security components folders and none of the tests were being excluded in an --classmap-authoritative dump of the autoload.

Commits
-------

7b256a985d [Security] Fix "exclude-from-classmap"
2018-10-20 08:57:09 +02:00
Albert Casademont
7b256a985d
[Security] Fix "exclude-from-classmap"
The "/Tests/" directory doesn't exist in the Security Component, tests are located within the Security components folders and none of the tests were being excluded in an --classmap-authoritative dump of the autoload.
2018-10-19 23:57:12 +02:00
Laurent VOULLEMIER
aed0a5a38a [FrameworkBundle] Fix debug:container which crash when the service class has no doc comment 2018-10-19 16:17:41 +02:00
Robin Chalas
5f253bf39f minor #28925 [Security] Removed unsed trait import (lyrixx)
This PR was merged into the 4.1 branch.

Discussion
----------

[Security] Removed unsed trait import

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Commits
-------

f997863 [Security] Removed unsed trait import
2018-10-19 14:32:03 +02:00
Grégoire Pineau
f99786314e [Security] Removed unsed trait import 2018-10-19 14:22:12 +02:00
Fabien Potencier
0acf9e17d4 minor #28916 [Form] Fix @method annotation (ro0NL)
This PR was squashed before being merged into the 4.2-dev branch (closes #28916).

Discussion
----------

[Form] Fix @method annotation

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Same as #28915 for 4.2 (these are the only occurrences for interfaces)

Actually provides a use case for https://github.com/symfony/symfony/pull/28902#issuecomment-430904459 🎉

Commits
-------

13f0db718e [Form] Fix @method annotation
2018-10-19 12:21:50 +02:00
Roland Franssen
13f0db718e [Form] Fix @method annotation 2018-10-19 12:21:43 +02:00
Fabien Potencier
0daf4146d2 minor #28915 [Config] Fix @method annotation (ro0NL)
This PR was squashed before being merged into the 4.1 branch (closes #28915).

Discussion
----------

[Config] Fix @method annotation

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

```
@method [[static] return type] [name]([[type] [parameter]<, ...>]) [<description>]
```

I dont think this was intended to be the method description, which will be taken into account after #28902

Let me know if there's a better description, other then `Gets the child node definitions` :)

Commits
-------

0d7a961338 [Config] Fix @method annotation
2018-10-19 12:20:50 +02:00
Roland Franssen
0d7a961338 [Config] Fix @method annotation 2018-10-19 12:20:44 +02:00
Fabien Potencier
3abb993081 minor #28922 [Cache] Fix outdated CHANGELOG line (ogizanagi)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Cache] Fix outdated CHANGELOG line

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | N/A   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

Unless it was kept on purpose, for `Symfony\Contracts\Cache\CacheInterface` discoverability? In which case I'd add the FQCN.

Commits
-------

4e89a4bc03 [Cache] Fix outdated CHANGELOG line
2018-10-19 11:47:11 +02:00
Fabien Potencier
91a2d758b0 minor #28906 Redesigned the log message filter (javiereguiluz)
This PR was merged into the 4.2-dev branch.

Discussion
----------

Redesigned the log message filter

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | -   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | - <!-- required for new features -->

In 4.2 we've added a log filter that looks like this:

![filter-before](https://user-images.githubusercontent.com/73419/47091585-71d1d500-d225-11e8-9090-fa36defa598d.png)

I propose a complete redesign to make it more subtle, but still useful. Filter is now displayed like this:

![filter-overview](https://user-images.githubusercontent.com/73419/47091639-857d3b80-d225-11e8-87ba-beaa5bf5c83b.png)

When you click on each level, only the messages of that and higher levels are displayed ... and the other levels look disabled:

| Initial | Selected
| --- | ---
| ![filter-initial](https://user-images.githubusercontent.com/73419/47091706-ac3b7200-d225-11e8-84c3-bb5ef9fcabc5.png) | ![filter-selected](https://user-images.githubusercontent.com/73419/47091717-b198bc80-d225-11e8-972b-6f03cdbbd0ab.png)

The icons display an "up arrow" and "down arrow" depending on the level to try to explain that you are rising or reducing the current level:

![filter-in-action](https://user-images.githubusercontent.com/73419/47091827-ec9af000-d225-11e8-96cf-383e93688b29.gif)

Commits
-------

2271a3bf4d Redesigned the log message filter
2018-10-19 11:44:36 +02:00
Maxime Steinhausser
4e89a4bc03 [Cache] Fix outdated CHANGELOG line 2018-10-19 10:25:57 +02:00
Maxime Steinhausser
298a60dc19 [FrameworkBundle] Fix CacheInterface ns 2018-10-19 08:26:23 +02:00
Nicolas Grekas
0ad2cb906d [Messenger] rename "envelope items" and move them in the "Stamp" namespace 2018-10-18 15:00:56 +02:00
Nicolas Grekas
bcff647468 minor #28910 [Serializer] Improve perf a bit by not using a signaling exception when not needed (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Serializer] Improve perf a bit by not using a signaling exception when not needed

| Q             | A
| ------------- | ---
| Branch?       | 4.2
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

And disabling unneeded autoload calls for interface_exists checks meanwhile.

Commits
-------

2a2914e208 [Serializer] Improve perf a bit by not using a signaling exception when not needed
2018-10-18 13:33:29 +02:00
Nicolas Grekas
2a2914e208 [Serializer] Improve perf a bit by not using a signaling exception when not needed 2018-10-17 20:52:05 +02:00
Fabien Potencier
8322494a47 bug #28801 Convert InsufficientAuthenticationException to HttpException with 401 status code (vincentchalamon)
This PR was merged into the 2.8 branch.

Discussion
----------

Convert InsufficientAuthenticationException to HttpException with 401 status code

| Q             | A
| ------------- | ---
| Branch?       | 2.8
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed ticket | #8467
| License       | MIT

I was trying to implement the `json_login` authentication and test it with an API Platform project. When I call a secured endpoint without authentication, an InsufficientAuthenticationException is thrown with a 500 status code instead of a 401.

After some researches with @dunglas, there is no default `entrypoint` on the security firewall. As one already exists for `form_login` in the FormLoginFactory, this component might need a default one to convert this 500 exception to a correct 401 HTTP error.

This fixes https://github.com/symfony/symfony/issues/25806#issuecomment-368461952.

Commits
-------

4503ac8e9f Convert InsufficientAuthenticationException to HttpException
2018-10-17 18:35:42 +02:00
Bruno MATEU
faf8b009dc [Serializer] fix MetadataAwareNameConverter break denormalization 2018-10-17 17:16:10 +02:00
Yonel Ceruto
8b390f346f Deprecating support for legacy templates directories 2018-10-17 10:07:16 -04:00
Javier Eguiluz
2271a3bf4d Redesigned the log message filter 2018-10-17 15:56:13 +02:00
Fabien Potencier
5145084808 bug #28840 add missing double-quotes to extra_fields output message (danielkay)
This PR was squashed before being merged into the 2.8 branch (closes #28840).

Discussion
----------

add missing double-quotes to extra_fields output message

| Q             | A
| ------------- | ---
| Branch?       | 2.8
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | N/A
| License       | MIT
| Doc PR        | N/A

When using the extra_fields_message option on FormTypes to include the extra_fields items in the message, the output included some superfluous (or, perhaps, missing?) quotes. This resulted in some strange output: `This form should not contain extra fields: notes1\", \"notes2\", \"notes3`.

This PR removes the quotes and instead implodes the extra_fields array using merely ', ' as the glue, resulting in the output: `This form should not contain extra fields: notes1, notes2, notes3`.

Commits
-------

9e7414159c add missing double-quotes to extra_fields output message
2018-10-17 15:52:59 +02:00
Daniel Kay
9e7414159c add missing double-quotes to extra_fields output message 2018-10-17 15:52:52 +02:00
Fabien Potencier
dd432c4f1e minor #28901 [HttpKernel] Introduce KernelInterface::getProjectDir() (ro0NL)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[HttpKernel] Introduce KernelInterface::getProjectDir()

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | not yet
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | https://github.com/symfony/symfony/pull/28897#issuecomment-430523336
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Removes the last call to getParameter('kernel.project_dir') during runtime in core. Yay :)

cc @fabpot @nicolas-grekas

Commits
-------

b046f414e7 [HttpKernel] Introduce KernelInterface::getProjectDir()
2018-10-17 11:43:15 +02:00
Roland Franssen
b046f414e7 [HttpKernel] Introduce KernelInterface::getProjectDir()
This reverts commit 704867986d, reversing
changes made to 557f85d1b3.
2018-10-17 11:36:49 +02:00
Fabien Potencier
f0814e17d7 feature #27043 [Form][TwigBridge] Add help_attr (mpiot)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Form][TwigBridge] Add help_attr

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Add help_attr to the  form_help method.

Commits
-------

42d54b73c3 Add help_attr
2018-10-17 09:52:45 +02:00
Fabien Potencier
72ab16d4c9 bug #28838 [DI] Default undefined env to empty string during compile (ro0NL)
This PR was squashed before being merged into the 4.1 branch (closes #28838).

Discussion
----------

[DI] Default undefined env to empty string during compile

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #28827
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Instead of using `null` for undefined envs, use `""` instead. We already default the type to string, so actually providing a string value makes sense. During runtime it will always be string also.

Commits
-------

38a8ab92fa [DI] Default undefined env to empty string during compile
2018-10-17 09:43:06 +02:00
Roland Franssen
38a8ab92fa [DI] Default undefined env to empty string during compile 2018-10-17 09:42:53 +02:00
Mathieu Piot
42d54b73c3 Add help_attr 2018-10-17 09:30:39 +02:00
Nicolas Grekas
704867986d minor #28897 [FrameworkBundle] Avoid calling getProjectDir() on KernelInterface (ro0NL)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[FrameworkBundle] Avoid calling getProjectDir() on KernelInterface

| Q             | A
| ------------- | ---
| Branch?       | master (might be applied on 3.4 as well)
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Removes the last call to getProjectDir() in core (tests/kernel itself excluded). Yay :)

Commits
-------

894c155299 [FrameworkBundle] Avoid calling getProjectDir() on KernelInterface
2018-10-17 08:25:21 +02:00