Completed
Push — master ( 9c1f83...0c1135 )
by Paulo Rodrigues
10:00
created

ExtensionHelper/AssetExtensionHelper.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
namespace Rj\FrontendBundle\DependencyInjection\ExtensionHelper;
4
5
use Symfony\Component\DependencyInjection\ContainerBuilder;
6
use Symfony\Component\DependencyInjection\DefinitionDecorator;
7
use Symfony\Component\DependencyInjection\Reference;
8
9
class AssetExtensionHelper extends BaseExtensionHelper
10
{
11 20
    public function __construct($alias, ContainerBuilder $container, $loader)
12
    {
13 20
        parent::__construct($alias, $container);
14
15 20
        $loader->load('asset.yml');
16 20
    }
17
18 10
    public function getPackageTag()
19
    {
20 10
        return $this->namespaceService('package.asset');
21
    }
22
23 19
    protected function getPackageDefinition($isUrl)
24
    {
25 19
        return $isUrl
26 4
            ? new DefinitionDecorator($this->namespaceService('asset.package.url'))
27 19
            : new DefinitionDecorator($this->namespaceService('asset.package.path'))
28
        ;
29
    }
30
31 19
    protected function getFallbackPackageDefinition()
32
    {
33 19
        return new DefinitionDecorator($this->namespaceService('asset.package.fallback'));
34
    }
35
36 17
    protected function createEmptyVersionStrategy($packageName)
37
    {
38 17
        $versionStrategy = parent::createEmptyVersionStrategy($packageName);
39
40 17
        return $this->createAssetVersionStrategy($packageName, $versionStrategy);
41
    }
42
43 4
    protected function createManifestVersionStrategy($packageName, $config)
44
    {
45 4
        $versionStrategy = parent::createManifestVersionStrategy($packageName, $config);
46
47 4
        return $this->createAssetVersionStrategy($packageName, $versionStrategy);
48
    }
49
50 19
    private function createAssetVersionStrategy($packageName, $versionStrategy)
51
    {
52 19
        $version = new DefinitionDecorator($this->namespaceService('asset.version_strategy'));
53 19
        $version->addArgument($versionStrategy);
54
55 19
        $versionId = $this->namespaceService("_package.$packageName.version_strategy_asset");
0 ignored issues
show
Coding Style Best Practice introduced by
As per coding-style, please use concatenation or sprintf for the variable $packageName instead of interpolation.

It is generally a best practice as it is often more readable to use concatenation instead of interpolation for variables inside strings.

// Instead of
$x = "foo $bar $baz";

// Better use either
$x = "foo " . $bar . " " . $baz;
$x = sprintf("foo %s %s", $bar, $baz);
Loading history...
56 19
        $this->container->setDefinition($versionId, $version);
57
58 19
        return new Reference($versionId);
59
    }
60
}
61