bug #24906 [Bridge/ProxyManager] Remove direct reference to value holder property (nicolas-grekas)
This PR was merged into the 2.7 branch.
Discussion
----------
[Bridge/ProxyManager] Remove direct reference to value holder property
| Q | A
| ------------- | ---
| Branch? | 2.7
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #23110
| License | MIT
| Doc PR | -
This fixes https://github.com/Ocramius/ProxyManager/issues/394 on Symfony's side, because proxy-manager v1 is not maintained anymore, but is the only one that works on PHP 5.3/5.5, which we still support.
Cannot be tested easily (but code is run by the existing test suite.)
Commits
-------
af9d6446ea
[Bridge/ProxyManager] Remove direct reference to value holder property
This commit is contained in:
commit
ae65bd8410
@ -93,7 +93,11 @@ EOF;
|
|||||||
*/
|
*/
|
||||||
public function getProxyCode(Definition $definition)
|
public function getProxyCode(Definition $definition)
|
||||||
{
|
{
|
||||||
return $this->classGenerator->generate($this->generateProxyClass($definition));
|
return preg_replace(
|
||||||
|
'/(\$this->initializer[0-9a-f]++) && \1->__invoke\(\$this->(valueHolder[0-9a-f]++), (.*?), \1\);/',
|
||||||
|
'$1 && ($1->__invoke(\$$2, $3, $1) || 1) && $this->$2 = \$$2;',
|
||||||
|
$this->classGenerator->generate($this->generateProxyClass($definition))
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user