8000 bug #17298 [FrameworkBundle] Use proper class to fetch $versionStrate… · symfony/symfony@4d536bd · GitHub
[go: up one dir, main page]

Skip to content

Commit 4d536bd

Browse files
committed
bug #17298 [FrameworkBundle] Use proper class to fetch $versionStrategy property (dosten)
This PR was submitted for the 2.8 branch but it was merged into the 2.7 branch instead (closes #17298). Discussion ---------- [FrameworkBundle] Use proper class to fetch $versionStrategy property | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | #17259 | License | MIT This is a replacement of #17260 Commits ------- e38fa13 Use proper class to fetch $versionStrategy property
2 parents 19da185 + e38fa13 commit 4d536bd

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

src/Symfony/Bridge/Twig/Extension/AssetExtension.php

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -98,19 +98,16 @@ private function getLegacyAssetUrl($path, $packageName = null, $absolute = false
9898
{
9999
if ($version) {
100100
$package = $this->packages->getPackage($packageName);
101-
$class = new \ReflectionClass($package);
102101

103-
while ('Symfony\Component\Asset\Package' !== $class->getName()) {
104-
$class = $class->getParentClass();
105-
}
106-
107-
$v = $class->getProperty('versionStrategy');
102+
$v = new \ReflectionProperty('Symfony\Component\Asset\Package', 'versionStrategy');
108103
$v->setAccessible(true);
104+
109105
$currentVersionStrategy = $v->getValue($package);
110106

111107
if (property_exists($currentVersionStrategy, 'format')) {
112108
$f = new \ReflectionProperty($currentVersionStrategy, 'format');
113109
$f->setAccessible(true);
110+
114111
$format = $f->getValue($currentVersionStrategy);
115112

116113
$v->setValue($package, new StaticVersionStrategy($version, $format));

src/Symfony/Bundle/FrameworkBundle/Templating/Helper/AssetsHelper.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,14 @@ private function getLegacyAssetUrl($path, $packageName = null, $version = null)
9595
if ($version) {
9696
$package = $this->packages->getPackage($packageName);
9797

98-
$v = new \ReflectionProperty($package, 'versionStrategy');
98+
$v = new \ReflectionProperty('Symfony\Component\Asset\Package', 'versionStrategy');
9999
$v->setAccessible(true);
100100

101101
$currentVersionStrategy = $v->getValue($package);
102102

103103
$f = new \ReflectionProperty($currentVersionStrategy, 'format');
104104
$f->setAccessible(true);
105+
105106
$format = $f->getValue($currentVersionStrategy);
106107

107108
$v->setValue($package, new StaticVersionStrategy($version, $format));

src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/AssetsHelperTest.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Symfony\Bundle\FrameworkBundle\Templating\Helper\AssetsHelper;
1515
use Symfony\Component\Asset\Package;
1616
use Symfony\Component\Asset\Packages;
17+
use Symfony\Component\Asset\PathPackage;
1718
use Symfony\Component\Asset\VersionStrategy\StaticVersionStrategy;
1819

1920
class AssetsHelperTest extends \PHPUnit_Framework_TestCase
@@ -23,11 +24,14 @@ class AssetsHelperTest extends \PHPUnit_Framework_TestCase
2324
*/
2425
public function testLegacyGetUrl()
2526
{
26-
$package = new Package(new StaticVersionStrategy('22', '%s?version=%s'));
27-
$packages = new Packages($package);
27+
$versionStrategy = new StaticVersionStrategy('22', '%s?version=%s');
28+
$package = new Package($versionStrategy);
29+
$imagePackage = new PathPackage('images', $versionStrategy);
30+
$packages = new Packages($package, array('images' => $imagePackage));
2831
$helper = new AssetsHelper($packages);
2932

3033
$this->assertEquals('me.png?version=42', $helper->getUrl('me.png', null, '42'));
34+
$this->assertEquals('/images/me.png?version=42', $helper->getUrl('me.png', 'images', '42'));
3135
}
3236

3337
/**

0 commit comments

Comments
 (0)
0