merged branch fabpot/class-not-found-exception (PR #8553)

This PR was merged into the master branch.

Discussion
----------

[Debug] Developer friendly Class Not Found and Undefined Function errors

This is a followup of #8156

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #8156
| License       | MIT
| Doc PR        | n/a

Here is the original description from #8156:

Per a discussion with @weaverryan and others, I took a crack at enhancing the exception display for class not found errors and undefined function errors. It is not the cleanest solution but this is a work in progress to see whether or not following this path makes sense.

# Class Names

## Class Not Found: Unknown Class (Global Namespace)

```php
<?php
new WhizBangFactory();
```

> Attempted to load class 'WhizBangFactory' from the global namespace in foo.php line 12. Did you forget a use statement for this class?

## Class Not Found: Unknown Class (Full Namespace)

```php
<?php
namespace Foo\Bar;
new WhizBangFactory();
```

> Attempted to load class 'WhizBangFactory' from namespace 'Foo\Bar' in foo.php line 12. Do you need to 'use' it from another namespace?

## Class Not Found: Well Known Class (Global Namespace)

```php
<?php
new Request();
```

> Attempted to load class 'Request' from the global namespace in foo.php line 12. Did you forget a use statement for this class? Perhaps you need to add 'use Symfony\Component\HttpFoundation\Request' at the top of this file?

## Class Not Found: Well Known Class (Full Namespace)

```php
<?php
namespace Foo\Bar;
new Request();
```

> Attempted to load class 'Request' from namespace 'Foo\Bar' in foo.php line 12. Do you need to 'use' it from another namespace? Perhaps you need to add 'use Symfony\Component\HttpFoundation\Request' at the top of this file?

# Functions

## Undefined Function (Global Namespace)

```php
<?php
// example.php:
// namespace Acme\Example;
// function test_namespaced_function()
// {
// }
include "example.php";

test_namespaced_function()
```

> Attempted to call function 'test_namespaced_function' from the global namespace in foo.php line 12. Did you mean to call: '\acme\example\test_namespaced_function'?

## Undefined Function (Full Namespace)

```php
<?php
namespace Foo\Bar\Baz;

// example.php:
// namespace Acme\Example;
// function test_namespaced_function()
// {
// }
include "example.php";

test_namespaced_function()
```

> Attempted to call function 'test_namespaced_function' from namespace 'Foo\Bar\Baz' in foo.php line 12. Did you mean to call: '\acme\example\test_namespaced_function'?

## Undefined Function: Unknown Function (Global Namespace)

```php
<?php
test_namespaced_function()
```

> Attempted to call function 'test_namespaced_function' from the global namespace in foo.php line 12.

## Undefined Function: Unknown Function (Full Namespace)

```php
<?php
namespace Foo\Bar\Baz;

test_namespaced_function()
```

> Attempted to call function 'test_namespaced_function' from namespace 'Foo\Bar\Baz' in foo.php line 12.

Commits
-------

bde67f0 fixed an error message
80e19e2 [Debug] added some missing phpdocs
968764b [Debug] refactored unit tests
cefa1b5 [Debug] moved special fatal error handlers to their own classes
53ab284 [Debug] made Debug find FQCN automatically based on well-known autoloaders
208ca5f [Debug] made guessing of possible class names more flexible
a0b1585 [Debug] fixed CS
6671945 Developer friendly Class Not Found and Undefined Function errors.
[FrameworkBundle] fixed regression where the command might have the wrong container if the application is reused several times
merged branch fabpot/console-fix (PR #8599)

This PR was merged into the master branch.

Discussion
----------

[FrameworkBundle] fixed regression where the command might have the wrong container if the application is reused several times

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

This fixes a regression introduced in #8242. Before this PR, the commands were always getting the current container registered in the kernel. But as the commands are now registered only once, if the container changes, the commands were not aware of this change. That happens quite frequently in functional tests where the Kernel is booted and shutdown several times in the same process.

Commits
-------

1bd45b3 [FrameworkBundle] fixed regression where the command might have the wrong container if the application is reused several times
merged branch fabpot/console-fix (PR #8600)

This PR was merged into the 2.3 branch.

Discussion
----------

[FrameworkBundle] fixed regression where the command might have the wrong container if the application is reused several times

Commits
-------

1bd45b3 [FrameworkBundle] fixed regression where the command might have the wrong container if the application is reused several times
[routing] added ability for apache matcher to handle array values
[HttpFoundation] deprecated FlashBag::getIterator() method
[Console] made descriptors use output instead of returning a string

[console] made descriptors use output instead of returning a string
[console] updated descriptors usage
[console] fixed descriptors usage & tests
[console] applied advices from github
[Console] applied advices from github

updated changelog
merged branch jfsimon/issue-8371 (PR #8451)

This PR was merged into the master branch.

Discussion
----------

[console] makes descriptors use output instead of returning a string

This PR changes `DescriptorInterface::describe($object, array $options = array())` method signature to `describe(OutputInterface $output, $object, array $options = array())` and all subsequent implementations.

It's now possible to use helpers inside descriptors.
That was not easy!

@lyrixx this is all for you
@fabpot I just added one new class

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #8371

Commits
-------

b9fa52c [Console] made descriptors use output instead of returning a string
[WebProfilerBundle] made toolbar listener instantiation conditional
[Console] fixed tests
Revert "[Form] Remove "value" attribute on empty_value option"

This reverts commit 9e849eb78bcc668a2b8aad39cb47e2ad32c73a47.

Reasons for the revert:

* https://github.com/symfony/symfony/issues/8478
* https://github.com/symfony/symfony/issues/8526
[Form] Removed the "disabled" attribute from the placeholder option in select fields due to problems with the BlackBerry 10 browser
Fixes link indices
[Form] Changed (Number|Integer)ToLocalizedStringTransformer::reverseTransform() to do rounding
[Form] Fixed: If a form is not present in a request, it is not automatically submitted
Revert "[Form] Fix of "PATCH'ed forms are never valid""

This reverts commit a2b15359d81563d52b62b4357407efa949a0706a.

Conflicts:
	src/Symfony/Component/Form/Form.php

The commit is reverted because it introduces a bug demonstrated by a currently failing test.
[Form] Fixed patched forms to be valid even if children are not submitted
Fix issue with \DateTimeZone::UTC / 'UTC' for PHP 5.4
merged branch jfsimon/fix-tests (PR #8618)

This PR was merged into the master branch.

Discussion
----------

[Console] fix tests

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes

Commits
-------

e4c1b30 [Console] fixed tests
merged branch jfsimon/issue-8130 (PR #8615)

This PR was merged into the master branch.

Discussion
----------

[WebProfilerBundle] make toolbar listener instantiation conditional

In the `WebProfilerBundle`, if `intercept_redirects` and `toolbar` options are both `false`, the `toolbar.xml` config file should not be loaded as the listener becomes useless.

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #8130

Commits
-------

17cbfc8 [WebProfilerBundle] made toolbar listener instantiation conditional