Commit Graph

21777 Commits

Author SHA1 Message Date
Fabien Potencier
5b38d74128 feature #15079 [Form] Deprecated FormTypeInterface::getName() and passing of type instances (webmozart)
This PR was merged into the 2.8 branch.

Discussion
----------

[Form] Deprecated FormTypeInterface::getName() and passing of type instances

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #5321, #15008
| License       | MIT
| Doc PR        | TODO

#### Type Names

This PR deprecates the definition of the `getName()` method of form types. See #15008 for a more detailed description.

Before:

```php
class MyType extends AbstractType
{
    public function getName()
    {
        return 'mytype';
    }

    // ...
}
```

After:

```php
class MyType extends AbstractType
{
    // ...
}
```

You should always reference other types by their fully-qualified class names. Thanks to PHP 5.5, that's easy:

Before:

```php
$form = $this->createFormBuilder()
    ->add('name', 'text')
    ->add('age', 'integer')
    ->getForm();
```

After:

```php
$form = $this->createFormBuilder()
    ->add('name', TextType::class)
    ->add('age', IntegerType::class)
    ->getForm();
```

#### Type Instances

Furthermore, passing of type instances is deprecated.

Before:

```php
$form = $this->createForm(new AuthorType());
```

After:

```php
$form = $this->createForm(AuthorType::class);
```

#### DIC Aliases

When registering a type in the DIC, you should omit the "alias" attribute now.

Before:

```xml
<service id="my.type" class="Vendor\Type\MyType">
    <tag name="form.type" alias="mytype" />
    <argument type="service" id="some.service.id" />
</service>
```

After:

```xml
<service id="my.type" class="Vendor\Type\MyType">
    <tag name="form.type" />
    <argument type="service" id="some.service.id" />
</service>
```

Types without dependencies don't need to be registered in the DIC as they can be instantiated right away.

#### Template Block Prefixes

By default, the class name of the type in underscore notation minus "Type" suffix is used as Twig template block prefix (e.g. `UserProfileType` => `user_profile_*`). If you want to customize that, overwrite the new `getBlockPrefix()` method in your type:

```php
class UserProfileType extends AbstractType
{
    public function getBlockPrefix()
    {
        return 'profile';
    }

    // ...
}
```

Commits
-------

3d9e5de [Form] Deprecated FormTypeInterface::getName() and passing of type instances
2015-08-01 08:44:19 +02:00
Fabien Potencier
3c107155d8 feature #15418 [Debug] Deprecate ExceptionHandler::createResponse (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[Debug] Deprecate ExceptionHandler::createResponse

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

This does deprecate a behavior that might be specialized by someone somewhere, but I seriously doubt anyone did. It complicated the implementation for no gain IMHO.

Commits
-------

a4d2d31f [Debug] Deprecate ExceptionHandler::createResponse
2015-08-01 08:36:57 +02:00
Nicolas Grekas
a4d2d31f1b [Debug] Deprecate ExceptionHandler::createResponse 2015-08-01 08:34:55 +02:00
Nicolas Grekas
68fdb02485 Merge branch '2.7' into 2.8
* 2.7:
  [Debug] cleanup ExceptionHandlerTest
  bumped Symfony version to 2.7.4
  updated VERSION for 2.7.3
  updated CHANGELOG for 2.7.3
  fixed typo in translation keys
  Fix the return value on error for intl methods returning arrays
  Fix merge
  Fix missing _route parameter notice in RouterListener logging case

Conflicts:
	src/Symfony/Component/Debug/composer.json
	src/Symfony/Component/HttpKernel/Kernel.php
2015-08-01 08:34:21 +02:00
Fabien Potencier
839e925dff feature #15123 [2.8][FrameworkBundle] Allow parameter use_cookies in session configuration (derrabus)
This PR was merged into the 2.8 branch.

Discussion
----------

[2.8][FrameworkBundle] Allow parameter use_cookies in session configuration

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

This PR adds support for the `use_cookies` parameter to the session configuration of Symfony's FrameworkBundle. It is a rebase of #13671 against the 2.8 branch.

Commits
-------

08bf50a Allow parameter use_cookies in session configuration.
2015-08-01 08:28:15 +02:00
Fabien Potencier
f02a5dcec4 feature #14987 [FrameworkBundle] Configurable Serializer name converter (dunglas)
This PR was merged into the 2.8 branch.

Discussion
----------

[FrameworkBundle] Configurable Serializer name converter

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

- [x] Add tests

Commits
-------

e500a71 [FrameworkBundle] Configurable Serializer name converter
2015-08-01 08:23:02 +02:00
Fabien Potencier
0de8905919 feature #15285 [Config] deprecate cannotBeEmpty() for boolean and numeric nodes (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[Config] deprecate cannotBeEmpty() for boolean and numeric nodes

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

Commits
-------

d4473f3 [Config] deprecate cannotBeEmpty() for boolean and numeric nodes
2015-08-01 08:21:41 +02:00
Fabien Potencier
ce5363aee0 feature #15372 [FrameworkBundle] Change the default value of cookie_httponly (jderusse)
This PR was merged into the 2.8 branch.

Discussion
----------

[FrameworkBundle] Change the default value of cookie_httponly

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #15303
| License       | MIT
| Doc PR        | symfony/symfony-docs#5561

Commits
-------

a7bef1e Change the default value of cookie_httponly to fix #15303
2015-08-01 08:15:28 +02:00
Fabien Potencier
9058904d2b minor #15417 [Debug] cleanup ExceptionHandlerTest (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug] cleanup ExceptionHandlerTest

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

Commits
-------

51bacc6 [Debug] cleanup ExceptionHandlerTest
2015-08-01 07:54:51 +02:00
Fabien Potencier
251314e541 feature #15160 Redesigned the web debug toolbar (javiereguiluz)
This PR was merged into the 2.8 branch.

Discussion
----------

Redesigned the web debug toolbar

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

In my opinion, the design of the current Web Debug Toolbar suffers from two problems: it looks outdated and it lacks polishing on some parts. Symfony has always introduced a big update in this toolbar for each big release, so I propose to do the same for Symfony 3.

Let's see the new proposed toolbar in action:

-----

**This is the default toolbar** (click on the image to enlarge it)

![default](https://cloud.githubusercontent.com/assets/73419/8449444/cb4be4ea-1fd1-11e5-9358-332449375531.png)

As you can see, if some panel doesn't provide any information, we don't show it (e.g. 0 queries, 0 forms, 0 logs, 0 ajax requests).

-----

Let's compare some panels in detail:

**Symfony Panel**

![symfony-old-panel](https://cloud.githubusercontent.com/assets/73419/8449504/407302b2-1fd2-11e5-80da-a49dc99e68f5.png) ![symfony-new-panel](https://cloud.githubusercontent.com/assets/73419/8449505/41698e20-1fd2-11e5-8ced-e2717716c2d3.png)

**Request Panel**

![request-old-panel](https://cloud.githubusercontent.com/assets/73419/8449531/7d6888ea-1fd2-11e5-829e-93c9e50b7b64.png) ![request-new-panel](https://cloud.githubusercontent.com/assets/73419/8449532/7e359da8-1fd2-11e5-87e6-f194d824254c.png)

-----

When needed, more panels are displayed, such as the SQL information:  (click on the image to enlarge it)

![sql_panel](https://cloud.githubusercontent.com/assets/73419/8449554/b6abc1d0-1fd2-11e5-8450-13eae5bc3c50.png)

As you can see, the new toolbar provides more information than the old one and it takes less space.

Some of the new panels include more information in the extended info, such as the Doctrine one showing that the second level cache is disabled:

![sql_old_panel](https://cloud.githubusercontent.com/assets/73419/8449573/fc288aae-1fd2-11e5-9823-46b33fa9d998.png) ![sql_new_panel](https://cloud.githubusercontent.com/assets/73419/8449572/fab6244c-1fd2-11e5-9e14-28045de0b143.png)

-----

**Errors and warnings** now stand out more clearly because all the panel background is changed.

For example, if there are i18n errors: (click on the image to enlarge it)

![i18n_panel_error](https://cloud.githubusercontent.com/assets/73419/8449590/20708786-1fd3-11e5-8ad7-6bd3b3f4b933.png)

If the page is loading too slowly: (click on the image to enlarge it)

![slow_page](https://cloud.githubusercontent.com/assets/73419/8449597/2bc0c6e6-1fd3-11e5-9a9e-55bfe07ac170.png)

If Symfony version is deprecated: (click on the image to enlarge it)

![deprecated_symfony](https://cloud.githubusercontent.com/assets/73419/8449605/3cfa9860-1fd3-11e5-8dbd-9915597970f4.png)

-----

HTTP Errors also stand out more clearly: (click on the image to enlarge it)

![error_404](https://cloud.githubusercontent.com/assets/73419/8449617/56a4ccb8-1fd3-11e5-9638-322f1840937c.png)

![error_500](https://cloud.githubusercontent.com/assets/73419/8449618/57a79294-1fd3-11e5-8383-2598dee73fc6.png)

-----

Some questions that you may be wondering:

  * **Why use a dark toolbar instead of maintaining the light toolbar?** Because a dark toolbar stands out more from most of the web designs. It's more probable that your applications display a light background than a dark background, so the Symfony Toolbar stands out more if it's designed in dark.
  * **What about the profiler?** If this proposal is approved I'll also update the design of the profiler to match this new dark and modern look-and-feel.
  * **What about smaller screens?** This is a proposal, so I haven't finished it. Tweaking the design for smaller screens will be the next step. Anyway, as you can see the new toolbar already takes much less space than the current one, so it won't be hard to adapt it.

Commits
-------

5a571b6 Reordered the toolbar elements via service priorities
f237ff1 Increased the z-index of .sf-toolbar-info
b3ad83d Removed an unused media query
b438ee5 Redesigned "abbr" elements
7d92cb8 Restored the old behavior for toolbars with lots of elements
597637e Tweaks and bug fixes
9df0f8b Added some upgrade notes about the new toolbar design
22f6bc5 Removed an useless CSS class and added styles for <hr>
5070861 Added a new profiler_markup_version to improve BC of the new toolbar
2fb3319 Removed an unused import
7ec1cd4 Reverted the feature to display different toolbar versions
084cca6 Minor JavaScript optimizations
972a92e Misc. tweaks and improvements
ebb44e4 Added some styles to make old panels look better in the new design
1847285 Pass the toolbar version number from the controller, to ease transition and keep BC
a0e03f6 Minor tweaks
002dda5 Fixed toolbar issues when displaying it inside the profiler
e94a6a0 Smaller font sizes for smartphones, fixed request status padding issue and make too long panels always be displayed at the leftmost part of browser window
9b585b9 Made the close icon a bit smaller
3ab2e20 fixed all vertical aligning issues and tweaked icons
f087ac0 More vertical aligning fixes
9e38a8a Minor CSS tweaks and made font sizes bigger
0dfcb60 Fixed an issue with the Config panel in the Profiler view
cd53210 Fixed another z-index issue
e28f895 A very high z-index value is required to avoid issues in the profiler view
23dc884 Fixed a potential issue in the request panel
7c35d25 Fixed another insignificant syntax issue
e14fb6d Fixed a minor syntax issue
9d89841 Finished the toolbar redesign
b25b6dd Finished "dump" panel and other minor tweaks
2bccdd4 Minor CSS fixes
c0bee9b Tweaked the Twig panel
77d522a Tweaked the translation panel
041d424 Improved the Security toolbar panel
af3dcb2 Minor Ajax tweaks
acee052 Finished the Ajax panel redesign
fac5391 Lots of minor improvements
ef53850 More fixes and tweaks
51a79c9 Reorder toolbar panels
2735346 Fixed a minor markup error that broke the toolbar
64b8f38 A new batch of updates
4eee931 Restored all the code removed by mistake
b6f413f First batch of fixes
c2fcadc Redesigned the web debug toolbar
2015-07-31 18:40:00 +02:00
Nicolas Grekas
51bacc6d41 [Debug] cleanup ExceptionHandlerTest 2015-07-31 17:18:52 +02:00
Javier Eguiluz
5a571b6eca Reordered the toolbar elements via service priorities 2015-07-31 17:06:53 +02:00
Fabien Potencier
15d6b8aceb bumped Symfony version to 2.7.4 2015-07-31 15:51:28 +02:00
Javier Eguiluz
f237ff1913 Increased the z-index of .sf-toolbar-info 2015-07-31 15:42:14 +02:00
Javier Eguiluz
b3ad83da01 Removed an unused media query 2015-07-31 15:37:44 +02:00
Fabien Potencier
a9af4708b4 updated VERSION for 2.7.3 2015-07-31 15:24:45 +02:00
Fabien Potencier
cdda482a3d updated CHANGELOG for 2.7.3 2015-07-31 15:24:38 +02:00
Fabien Potencier
c7ca0b3629 Merge branch '2.3' into 2.7
* 2.3:
  Fix the return value on error for intl methods returning arrays
2015-07-31 15:24:29 +02:00
Javier Eguiluz
b438ee5482 Redesigned "abbr" elements 2015-07-31 15:19:54 +02:00
Javier Eguiluz
7d92cb8a02 Restored the old behavior for toolbars with lots of elements
If a toolbar includes lots of elements, some of them may
span to a new line, increasing the height of the toolbar
2015-07-31 15:08:06 +02:00
Javier Eguiluz
597637ecea Tweaks and bug fixes 2015-07-31 13:11:01 +02:00
Javier Eguiluz
9df0f8b4b8 Added some upgrade notes about the new toolbar design 2015-07-31 12:12:25 +02:00
Fabien Potencier
8d025cbc91 fixed typo in translation keys 2015-07-31 08:49:15 +02:00
Fabien Potencier
0fd11d9631 bug #15413 Fix the return value on error for intl methods returning arrays (stof)
This PR was merged into the 2.3 branch.

Discussion
----------

Fix the return value on error for intl methods returning arrays

| 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

When the resource is missing, an empty array should be returned rather than null to respect the interface saying an array is always returned.

Commits
-------

801e5e2 Fix the return value on error for intl methods returning arrays
2015-07-30 17:28:54 +02:00
Christophe Coevoet
801e5e2805 Fix the return value on error for intl methods returning arrays
When the resource is missing, an empty array should be returned rather
than null to respect the interface saying an array is always returned.
2015-07-30 16:28:34 +02:00
Javier Eguiluz
22f6bc5003 Removed an useless CSS class and added styles for <hr> 2015-07-30 15:15:53 +02:00
Javier Eguiluz
5070861326 Added a new profiler_markup_version to improve BC of the new toolbar 2015-07-30 13:21:10 +02:00
Nicolas Grekas
bf8a923199 Merge branch '2.3' into 2.7
* 2.3:
  Fix merge
  Fix missing _route parameter notice in RouterListener logging case

Conflicts:
	src/Symfony/Component/HttpKernel/EventListener/RouterListener.php
2015-07-30 09:39:20 +02:00
Nicolas Grekas
6b02601e7b Fix merge 2015-07-30 09:37:09 +02:00
Javier Eguiluz
2fb33191fe Removed an unused import 2015-07-30 09:30:53 +02:00
Javier Eguiluz
7ec1cd491d Reverted the feature to display different toolbar versions 2015-07-30 09:29:46 +02:00
Javier Eguiluz
084cca644d Minor JavaScript optimizations 2015-07-30 09:29:45 +02:00
Javier Eguiluz
972a92e778 Misc. tweaks and improvements 2015-07-30 09:29:45 +02:00
Javier Eguiluz
ebb44e4832 Added some styles to make old panels look better in the new design 2015-07-30 09:29:45 +02:00
Javier Eguiluz
1847285322 Pass the toolbar version number from the controller, to ease transition and keep BC 2015-07-30 09:29:45 +02:00
Javier Eguiluz
a0e03f6b2c Minor tweaks 2015-07-30 09:29:45 +02:00
Javier Eguiluz
002dda5bd3 Fixed toolbar issues when displaying it inside the profiler 2015-07-30 09:29:45 +02:00
Javier Eguiluz
e94a6a02b1 Smaller font sizes for smartphones, fixed request status padding issue
and make too long panels always be displayed at the leftmost part of browser window
2015-07-30 09:29:45 +02:00
Javier Eguiluz
9b585b9808 Made the close icon a bit smaller 2015-07-30 09:29:44 +02:00
Javier Eguiluz
3ab2e20913 fixed all vertical aligning issues and tweaked icons 2015-07-30 09:29:44 +02:00
Javier Eguiluz
f087ac0bcd More vertical aligning fixes 2015-07-30 09:29:44 +02:00
Javier Eguiluz
9e38a8aa96 Minor CSS tweaks and made font sizes bigger 2015-07-30 09:29:44 +02:00
Javier Eguiluz
0dfcb602ef Fixed an issue with the Config panel in the Profiler view 2015-07-30 09:29:44 +02:00
Javier Eguiluz
cd53210161 Fixed another z-index issue 2015-07-30 09:29:44 +02:00
Javier Eguiluz
e28f895a18 A very high z-index value is required to avoid issues in the profiler view 2015-07-30 09:29:43 +02:00
Javier Eguiluz
23dc884dcf Fixed a potential issue in the request panel 2015-07-30 09:29:43 +02:00
Javier Eguiluz
7c35d25bae Fixed another insignificant syntax issue 2015-07-30 09:29:43 +02:00
Javier Eguiluz
e14fb6d5c9 Fixed a minor syntax issue 2015-07-30 09:29:43 +02:00
Javier Eguiluz
9d89841e3a Finished the toolbar redesign 2015-07-30 09:29:43 +02:00
Javier Eguiluz
b25b6dd608 Finished "dump" panel and other minor tweaks 2015-07-30 09:29:43 +02:00