bug #13871 [Assets] Make templating.helper.assets service available again for BC reasons (WouterJ)

This PR was squashed before being merged into the 2.7 branch (closes #13871).

Discussion
----------

[Assets] Make templating.helper.assets service available again for BC reasons

This service has always been available and the SonataDoctrinePhpcrOdmBundle relied on this services. Moving it to the templating_php config (which is only loaded when PHP templating is enabled, which is often not the case) is a BC break that makes it very hard to support <2.7 and 2.7.

This should be reverted for the 3.0 branch (master), as it should be removed in 3.0. However, it should be added to the `UPRADE-3.0.md` file.

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

Commits
-------

a4b7da5 [Assets] Make templating.helper.assets service available again for BC reasons
This commit is contained in:
Fabien Potencier 2015-03-13 12:07:03 +01:00
commit d8720427d1
3 changed files with 55 additions and 7 deletions

View File

@ -326,6 +326,51 @@ UPGRADE FROM 2.x to 3.0
* The `request` service was removed. You must inject the `request_stack`
service instead.
* The `templating.helper.assets` was moved to `templating_php.xml`. You can
use the `assets.package` service instead.
Before:
```php
use Symfony\Component\Templating\Helper\CoreAssetsHelper;
class DemoService
{
private $assetsHelper;
public function __construct(CoreAssetsHelper $assetsHelper)
{
$this->assetsHelper = $assetsHelper;
}
public function testMethod()
{
return $this->assetsHelper->getUrl('thumbnail.png', null, $this->assetsHelper->getVersion());
}
}
```
After:
```php
use Symfony\Component\Asset\Packages;
class DemoService
{
private $assetPackages;
public function __construct(Packages $assetPackages)
{
$this->assetPackages = $assetPackages;
}
public function testMethod()
{
return $this->assetPackages->getUrl('thumbnail.png').$this->assetPackages->getVersion();
}
}
```
* The `enctype` method of the `form` helper was removed. You should use the
new method `start` instead.

View File

@ -14,6 +14,7 @@
<parameter key="templating.loader.cache.class">Symfony\Component\Templating\Loader\CacheLoader</parameter>
<parameter key="templating.loader.chain.class">Symfony\Component\Templating\Loader\ChainLoader</parameter>
<parameter key="templating.finder.class">Symfony\Bundle\FrameworkBundle\CacheWarmer\TemplateFinder</parameter>
<parameter key="templating.helper.assets.class">Symfony\Bundle\FrameworkBundle\Templating\Helper\AssetsHelper</parameter>
</parameters>
<services>
@ -58,5 +59,14 @@
</service>
<service id="templating.loader" alias="templating.loader.filesystem" />
<!--
This service will be moved to templating_php.xml in version 3.0, it exists here for BC reasons.
-->
<service id="templating.helper.assets" class="%templating.helper.assets.class%">
<tag name="templating.helper" alias="assets" />
<argument /> <!-- default package -->
<argument type="collection" /> <!-- named packages -->
</service>
</services>
</container>

View File

@ -15,7 +15,6 @@
<parameter key="templating.helper.translator.class">Symfony\Bundle\FrameworkBundle\Templating\Helper\TranslatorHelper</parameter>
<parameter key="templating.helper.form.class">Symfony\Bundle\FrameworkBundle\Templating\Helper\FormHelper</parameter>
<parameter key="templating.helper.stopwatch.class">Symfony\Bundle\FrameworkBundle\Templating\Helper\StopwatchHelper</parameter>
<parameter key="templating.helper.assets.class">Symfony\Bundle\FrameworkBundle\Templating\Helper\AssetsHelper</parameter>
<parameter key="templating.form.engine.class">Symfony\Component\Form\Extension\Templating\TemplatingRendererEngine</parameter>
<parameter key="templating.form.renderer.class">Symfony\Component\Form\FormRenderer</parameter>
<parameter key="templating.globals.class">Symfony\Bundle\FrameworkBundle\Templating\GlobalVariables</parameter>
@ -66,12 +65,6 @@
<argument type="service" id="translator" />
</service>
<service id="templating.helper.assets" class="%templating.helper.assets.class%">
<tag name="templating.helper" alias="assets" />
<argument /> <!-- default package -->
<argument type="collection" /> <!-- named packages -->
</service>
<service id="templating.helper.form" class="%templating.helper.form.class%">
<tag name="templating.helper" alias="form" />
<argument type="service" id="templating.form.renderer" />