8000 Merge branch '3.3' into 3.4 · symfony/symfony@068f8d1 · GitHub
[go: up one dir, main page]

Skip to content

Commit 068f8d1

Browse files
Merge branch '3.3' into 3.4
* 3.3: Fix optional cache warmers are always instantiated whereas they should be lazy-loaded add some \ on PHP_VERSION_ID for 2.8 [Di] Remove closure-proxy arguments [PropertyInfo][DoctrineBridge] The bigint Doctrine's type must be converted to string
2 parents d7ec7e8 + 4ad0dbf commit 068f8d1

File tree

75 files changed

+125
-785
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+125
-785
lines changed

UPGRADE-3.3.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ EventDispatcher
127127
---------------
128128

129129
* The `ContainerAwareEventDispatcher` class has been deprecated.
130-
Use `EventDispatcher` with closure-proxy injection instead.
130+
Use `EventDispatcher` with closure factories instead.
131131

132132
Finder
133133
------

UPGRADE-4.0.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ EventDispatcher
134134
---------------
135135

136136
* The `ContainerAwareEventDispatcher` class has been removed.
137-
Use `EventDispatcher` with closure-proxy injection instead.
137+
Use `EventDispatcher` with closure factories instead.
138138

139139
ExpressionLanguage
140140
------------------

src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -174,13 +174,13 @@ private function getPhpType($doctrineType)
174174
{
175175
switch ($doctrineType) {
176176
case DBALType::SMALLINT:
177-
case DBALType::BIGINT:
178177
case DBALType::INTEGER:
179178
return Type::BUILTIN_TYPE_INT;
180179

181180
case DBALType::FLOAT:
182181
return Type::BUILTIN_TYPE_FLOAT;
183182

183+
case DBALType::BIGINT:
184184
case DBALType::STRING:
185185
case DBALType::TEXT:
186186
case DBALType::GUID:
@@ -196,9 +196,6 @@ private function getPhpType($doctrineType)
196196

197197
case DBALType::OBJECT:
198198
return Type::BUILTIN_TYPE_OBJECT;
199-
200-
default:
201-
return;
202199
}
203200
}
204201
}

src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ public function testGetProperties()
5555
'bool',
5656
'binary',
5757
'customFoo',
58+
'bigint',
5859
'foo',
5960
'bar',
6061
'indexedBar',
@@ -76,6 +77,7 @@ public function typesProvider()
7677
return array(
7778
array('id', array(new Type(Type::BUILTIN_TYPE_INT))),
7879
array('guid', array(new Type(Type::BUILTIN_TYPE_STRING))),
80+
array('bigint', array(new Type(Type::BUILTIN_TYPE_STRING))),
7981
array('float', array(new Type(Type::BUILTIN_TYPE_FLOAT))),
8082
array('decimal', array(new Type(Type::BUILTIN_TYPE_STRING))),
8183
array('bool', array(new Type(Type::BUILTIN_TYPE_BOOL))),

src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineDummy.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
namespace Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures;
1313

14+
use Doctrine\ORM\Mapping as ORM;
1415
use Doctrine\ORM\Mapping\Column;
1516
use Doctrine\ORM\Mapping\Entity;
1617
use Doctrine\ORM\Mapping\Id;
@@ -90,5 +91,10 @@ class DoctrineDummy
9091
*/
9192
private $customFoo;
9293

94+
/**
95+
* @Column(type="bigint")
96+
*/
97+
private $bigint;
98+
9399
public $notMapped;
94100
}

src/Symfony/Bridge/Twig/DataCollector/TwigDataCollector.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public function getHtmlCallGraph()
9696
public function getProfile()
9797
{
9898
if (null === $this->profile) {
99-
if (PHP_VERSION_ID >= 70000) {
99+
if (\PHP_VERSION_ID >= 70000) {
100100
$this->profile = unserialize($this->data['profile'], array('allowed_classes' => array('Twig_Profiler_Profile', 'Twig\Profiler\Profile')));
101101
} else {
102102
$this->profile = unserialize($this->data['profile']);

src/Symfony/Bridge/Twig/Tests/Node/DumpNodeTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public function testOneVar()
8686

8787
EOTXT;
8888

89-
if (PHP_VERSION_ID >= 70000) {
89+
if (\PHP_VERSION_ID >= 70000) {
9090
$expected = preg_replace('/%(.*?)%/', '($context["$1"] ?? null)', $expected);
9191
} else {
9292
$expected = preg_replace('/%(.*?)%/', '(isset($context["$1"]) ? $context["$1"] : null)', $expected);

src/Symfony/Bundle/FrameworkBundle/CacheWarmer/ClassCacheCacheWarmer.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class ClassCacheCacheWarmer implements CacheWarmerInterface
2727

2828
public function __construct(array $declaredClasses = null)
2929
{
30-
if (PHP_VERSION_ID >= 70000) {
30+
if (\PHP_VERSION_ID >= 70000) {
3131
@trigger_error('The '.__CLASS__.' class is deprecated since version 3.3 and will be removed in 4.0.', E_USER_DEPRECATED);
3232
}
3333

src/Symfony/Bundle/FrameworkBundle/CacheWarmer/TranslationsCacheWarmer.php

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
namespace Symfony\Bundle\FrameworkBundle\CacheWarmer;
1313

14+
use Symfony\Component\DependencyInjection\ContainerInterface;
1415
use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerInterface;
1516
use Symfony\Component\HttpKernel\CacheWarmer\WarmableInterface;
1617
use Symfony\Component\Translation\TranslatorInterface;
@@ -22,18 +23,35 @@
2223
*/
2324
class TranslationsCacheWarmer implements CacheWarmerInterface
2425
{
26+
private $container;
2527
private $translator;
2628

27-
public function 10000 __construct(TranslatorInterface $translator)
29+
/**
30+
* TranslationsCacheWarmer constructor.
31+
*
32+
* @param ContainerInterface|TranslatorInterface $container
33+
*/
34+
public function __construct($container)
2835
{
29-
$this->translator = $translator;
36+
// As this cache warmer is optional, dependencies should be lazy-loaded, that's why a container should be injected.
37+
if ($container instanceof ContainerInterface) {
38+
$this->container = $container;
39+
} elseif ($container instanceof TranslatorInterface) {
40+
$this->translator = $container;
41+
} else {
42+
throw new \InvalidArgumentException(sprintf('%s only accepts instance of Symfony\Component\DependencyInjection\ContainerInterface or Symfony\Component\Translation\TranslatorInterface as first argument.', __CLASS__));
43+
}
3044
}
3145

3246
/**
3347
* {@inheritdoc}
3448
*/
3549
public function warmUp($cacheDir)
3650
{
51+
if (null === $this->translator) {
52+
$this->translator = $this->container->get('translator');
53+
}
54+
3755
if ($this->translator instanceof WarmableInterface) {
3856
$this->translator->warmUp($cacheDir);
3957
}

src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/Descriptor.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -312,10 +312,6 @@ protected function formatClosure(\Closure $closure)
312312
{
313313
$r = new \ReflectionFunction($closure);
314314

315-
if (preg_match('#^/\*\* @closure-proxy ([^: ]++)::([^: ]++) \*/$#', $r->getDocComment(), $m)) {
316-
return sprintf('%s::%s', $m[1], $m[2]);
317-
}
318-
319315
return 'closure';
320316
}
321317
}

0 commit comments

Comments
 (0)
0