Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 8f0b984

Browse filesBrowse files
committed
Merge branch '2.5'
* 2.5: (25 commits) [Bridge][Twig] Replace deprecated features Yaml component change in 2.5 [HttpFoundation] fix switch statement [serializer] fixed whitespace issue when decoding xml [Doctrine Bridge] fix DBAL session handler according to PdoSessionHandler #10862 loadClassMetadata vs loadValidatorMetadata: revert default config fixed previous merge Added phpdoc for Cache-Control directives methods [Console] OutputFormatter Unset Bold has wrong id [Debug] fix debug handlers config [Serializer] fixed bc-break with cdata-section nodes Remove undefined variable $e [Debug] fix wrong case mismatch exception bumped Symfony version to 2.5.1 bumped Symfony version to 2.4.7 bumped Symfony version to 2.3.17 Fix a parameter name in a test updated VERSION for 2.5.0 updated CHANGELOG for 2.5.0 updated VERSION for 2.4.6 ... Conflicts: src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php src/Symfony/Component/HttpKernel/Kernel.php
2 parents 44b9d84 + c558887 commit 8f0b984
Copy full SHA for 8f0b984

File tree

Expand file treeCollapse file tree

21 files changed

+168
-37
lines changed
Filter options
Expand file treeCollapse file tree

21 files changed

+168
-37
lines changed

‎CHANGELOG-2.3.md

Copy file name to clipboardExpand all lines: CHANGELOG-2.3.md
+8Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,14 @@ in 2.3 minor versions.
77
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
88
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.3.0...v2.3.1
99

10+
* 2.3.16 (2014-05-31)
11+
12+
* bug #11014 [Validator] Remove property and method targets from the optional and required constraints (jakzal)
13+
* bug #10983 [DomCrawler] Fixed charset detection in html5 meta charset tag (77web)
14+
* bug #10979 Make rootPath part of regex greedy (artursvonda)
15+
* bug #10995 [TwigBridge][Trans]set %count% only on transChoice from the current context. (aitboudad)
16+
* bug #10987 [DomCrawler] Fixed a forgotten case of complex XPath queries (stof)
17+
1018
* 2.3.15 (2014-05-22)
1119

1220
* reverted #10908

‎CHANGELOG-2.4.md

Copy file name to clipboardExpand all lines: CHANGELOG-2.4.md
+9Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,15 @@ in 2.4 minor versions.
77
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
88
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.4.0...v2.4.1
99

10+
* 2.4.6 (2014-05-31)
11+
12+
* bug #11014 [Validator] Remove property and method targets from the optional and required constraints (jakzal)
13+
* bug #10983 [DomCrawler] Fixed charset detection in html5 meta charset tag (77web)
14+
* Merge branch '2.3' into 2.4
15+
* bug #10979 Make rootPath part of regex greedy (artursvonda)
16+
* bug #10995 [TwigBridge][Trans]set %count% only on transChoice from the current context. (aitboudad)
17+
* bug #10987 [DomCrawler] Fixed a forgotten case of complex XPath queries (stof)
18+
1019
* 2.4.5 (2014-05-22)
1120

1221
* bug #10849 [WIP][Finder] Fix wrong implementation on sortable callback comparator (ProPheT777)

‎CHANGELOG-2.5.md

Copy file name to clipboardExpand all lines: CHANGELOG-2.5.md
+5Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ in 2.5 minor versions.
77
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
88
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.5.0...v2.5.1
99

10+
* 2.5.0 (2014-05-31)
11+
12+
* bug #11014 [Validator] Remove property and method targets from the optional and required constraints (jakzal)
13+
* bug #10983 [DomCrawler] Fixed charset detection in html5 meta charset tag (77web)
14+
1015
* 2.5.0-RC1 (2014-05-28)
1116

1217
* bug #10979 Make rootPath part of regex greedy (artursvonda)

‎CONTRIBUTORS.md

Copy file name to clipboardExpand all lines: CONTRIBUTORS.md
+6-3Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ Symfony2 is the result of the work of many people who made the code better
5959
- Fran Moreno (franmomu)
6060
- Bart van den Burg (burgov)
6161
- Antoine Hérault (herzult)
62+
- Nicolas Grekas (nicolas-grekas)
6263
- Toni Uebernickel (havvg)
6364
- Arnaud Le Blanc (arnaud-lb)
64-
- Nicolas Grekas (nicolas-grekas)
6565
- Brice BERNARD (brikou)
6666
- Luis Cordova (cordoval)
6767
- Tim Nagel (merk)
@@ -76,12 +76,12 @@ Symfony2 is the result of the work of many people who made the code better
7676
- Adrien Brault (adrienbrault)
7777
- Gábor Egyed (1ed)
7878
- Michal Piotrowski (eventhorizon)
79+
- Ait Boudad Abdellatif (aitboudad)
7980
- Florian Voutzinos (florianv)
8081
- Robert Schönthal (digitalkaoz)
8182
- Juti Noppornpitak (shiroyuki)
8283
- Sebastian Hörl (blogsh)
8384
- Hidenori Goto (hidenorigoto)
84-
- Ait Boudad Abdellatif (aitboudad)
8585
- Daniel Gomes (danielcsgomes)
8686
- Peter Kokot (maastermedia)
8787
- Jérémie Augustin (jaugustin)
@@ -357,6 +357,7 @@ Symfony2 is the result of the work of many people who made the code better
357357
- Chris Heng (gigablah)
358358
- Ulumuddin Yunus (joenoez)
359359
- Antoine Corcy
360+
- Arturs Vonda
360361
- Sascha Grossenbacher
361362
- Ben Davies (bendavies)
362363
- Hossein Bukhamsin
@@ -527,6 +528,7 @@ Symfony2 is the result of the work of many people who made the code better
527528
- Simon Schick (simonsimcity)
528529
- Christian
529530
- Sergii Smertin (nfx)
531+
- Johann Saunier (prophet777)
530532
- Eddie Jaoude
531533
- Haritz Iturbe (hizai)
532534
- Nerijus Arlauskas (nercury)
@@ -558,6 +560,7 @@ Symfony2 is the result of the work of many people who made the code better
558560
- Artem Kolesnikov (tyomo4ka)
559561
- Gustavo Adrian
560562
- Clément Gautier (clementgautier)
563+
- Yannick
561564
- Luc Vieillescazes (iamluc)
562565
- Eduardo García Sanz (coma)
563566
- David de Boer (ddeboer)
@@ -586,7 +589,6 @@ Symfony2 is the result of the work of many people who made the code better
586589
- Jeroen van den Enden (stoefke)
587590
- Quique Porta (quiqueporta)
588591
- Tomasz Szymczyk (karion)
589-
- Arturs Vonda
590592
- ConneXNL
591593
- Aharon Perkel
592594
- Abdul.Mohsen B. A. A
@@ -941,6 +943,7 @@ Symfony2 is the result of the work of many people who made the code better
941943
- Karolis Daužickas
942944
- tirnanog06
943945
- phc
946+
- ilyes kooli
944947
- Michaël VEROUX
945948
- sualko
946949
- Nicolas Roudaire

‎UPGRADE-2.5.md

Copy file name to clipboardExpand all lines: UPGRADE-2.5.md
+23Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,3 +226,26 @@ Validator
226226
->getValidator();
227227
```
228228

229+
230+
Yaml Component
231+
--------------
232+
233+
* The way Yaml handles duplicate keys in an array was changed from `rewrite with the
234+
last element` behavior to ignoring all the elements with the same key after the first one.
235+
236+
Example:
237+
238+
```
239+
parentElement:
240+
firstChild: foo
241+
secondChild: 123
242+
firstChild: bar
243+
```
244+
245+
Before:
246+
247+
This would be parsed in an array like this: `["parentElement" => ["firstChild" => "bar", "secondChild" => 123]]`
248+
249+
After:
250+
251+
The first value is used: `["parentElement" => ["firstChild" => "foo", "secondChild" => 123]]`

‎composer.json

Copy file name to clipboardExpand all lines: composer.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"php": ">=5.3.3",
2020
"symfony/icu": "~1.0",
2121
"doctrine/common": "~2.2",
22-
"twig/twig": "~1.11",
22+
"twig/twig": "~1.12",
2323
"psr/log": "~1.0"
2424
},
2525
"replace": {

‎src/Symfony/Bridge/Twig/Extension/FormExtension.php

Copy file name to clipboardExpand all lines: src/Symfony/Bridge/Twig/Extension/FormExtension.php
+35-11Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -61,16 +61,16 @@ public function getTokenParsers()
6161
public function getFunctions()
6262
{
6363
return array(
64-
'form_enctype' => new \Twig_Function_Node('Symfony\Bridge\Twig\Node\FormEnctypeNode', array('is_safe' => array('html'))),
65-
'form_widget' => new \Twig_Function_Node('Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', array('is_safe' => array('html'))),
66-
'form_errors' => new \Twig_Function_Node('Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', array('is_safe' => array('html'))),
67-
'form_label' => new \Twig_Function_Node('Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', array('is_safe' => array('html'))),
68-
'form_row' => new \Twig_Function_Node('Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', array('is_safe' => array('html'))),
69-
'form_rest' => new \Twig_Function_Node('Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', array('is_safe' => array('html'))),
70-
'form' => new \Twig_Function_Node('Symfony\Bridge\Twig\Node\RenderBlockNode', array('is_safe' => array('html'))),
71-
'form_start' => new \Twig_Function_Node('Symfony\Bridge\Twig\Node\RenderBlockNode', array('is_safe' => array('html'))),
72-
'form_end' => new \Twig_Function_Node('Symfony\Bridge\Twig\Node\RenderBlockNode', array('is_safe' => array('html'))),
73-
'csrf_token' => new \Twig_Function_Method($this, 'renderer->renderCsrfToken'),
64+
new \Twig_SimpleFunction('form_enctype', null, array('node_class' => 'Symfony\Bridge\Twig\Node\FormEnctypeNode', 'is_safe' => array('html'))),
65+
new \Twig_SimpleFunction('form_widget', null, array('node_class' => 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', 'is_safe' => array('html'))),
66+
new \Twig_SimpleFunction('form_errors', null, array('node_class' => 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', 'is_safe' => array('html'))),
67+
new \Twig_SimpleFunction('form_label', null, array('node_class' => 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', 'is_safe' => array('html'))),
68+
new \Twig_SimpleFunction('form_row', null, array('node_class' => 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', 'is_safe' => array('html'))),
69+
new \Twig_SimpleFunction('form_rest', null, array('node_class' => 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', 'is_safe' => array('html'))),
70+
new \Twig_SimpleFunction('form', null, array('node_class' => 'Symfony\Bridge\Twig\Node\RenderBlockNode', 'is_safe' => array('html'))),
71+
new \Twig_SimpleFunction('form_start', null, array('node_class' => 'Symfony\Bridge\Twig\Node\RenderBlockNode', 'is_safe' => array('html'))),
72+
new \Twig_SimpleFunction('form_end', null, array('node_class' => 'Symfony\Bridge\Twig\Node\RenderBlockNode', 'is_safe' => array('html'))),
73+
new \Twig_SimpleFunction('csrf_token', array($this, 'renderCsrfToken')),
7474
);
7575
}
7676

@@ -80,7 +80,7 @@ public function getFunctions()
8080
public function getFilters()
8181
{
8282
return array(
83-
new \Twig_SimpleFilter('humanize', array($this->renderer, 'humanize')),
83+
new \Twig_SimpleFilter('humanize', array($this, 'humanize')),
8484
);
8585
}
8686

@@ -94,6 +94,30 @@ public function getTests()
9494
);
9595
}
9696

97+
/**
98+
* Renders a CSRF token.
99+
*
100+
* @param string $intention The intention of the protected action.
101+
*
102+
* @return string A CSRF token.
103+
*/
104+
public function renderCsrfToken($intention)
105+
{
106+
return $this->renderer->renderCsrfToken($intention);
107+
}
108+
109+
/**
110+
* Makes a technical name human readable.
111+
*
112+
* @param string $text The text to humanize.
113+
*
114+
* @return string The humanized text.
115+
*/
116+
public function humanize($text)
117+
{
118+
return $this->renderer->humanize($text);
119+
}
120+
97121
/**
98122
* Returns whether a choice is selected for a given form value.
99123
*

‎src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,7 @@ private function addValidationSection(ArrayNodeDefinition $rootNode)
445445
->scalarNode('cache')->end()
446446
->booleanNode('enable_annotations')->defaultFalse()->end()
447447
->arrayNode('static_method')
448-
->defaultValue(array('loadClassMetadata'))
448+
->defaultValue(array('loadValidatorMetadata'))
449449
->prototype('scalar')->end()
450450
->treatFalseLike(array())
451451
->validate()

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ protected static function getBundleDefaultConfig()
126126
'validation' => array(
127127
'enabled' => false,
128128
'enable_annotations' => false,
129-
'static_method' => array('loadClassMetadata'),
129+
'static_method' => array('loadValidatorMetadata'),
130130
'translation_domain' => 'validators',
131131
'strict_email' => false,
132132
'api' => 'auto',

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
+4-4Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ public function testValidation()
274274
$this->assertSame('addXmlMappings', $calls[3][0]);
275275
$this->assertSame(array($xmlMappings), $calls[3][1]);
276276
$this->assertSame('addMethodMapping', $calls[4][0]);
277-
$this->assertSame(array('loadClassMetadata'), $calls[4][1]);
277+
$this->assertSame(array('loadValidatorMetadata'), $calls[4][1]);
278278
$this->assertSame('setMetadataCache', $calls[5][0]);
279279
$this->assertEquals(array(new Reference('validator.mapping.cache.apc')), $calls[5][1]);
280280
}
@@ -322,7 +322,7 @@ public function testValidationAnnotations()
322322
$this->assertSame('enableAnnotationMapping', $calls[4][0]);
323323
$this->assertEquals(array(new Reference('annotation_reader')), $calls[4][1]);
324324
$this->assertSame('addMethodMapping', $calls[5][0]);
325-
$this->assertSame(array('loadClassMetadata'), $calls[5][1]);
325+
$this->assertSame(array('loadValidatorMetadata'), $calls[5][1]);
326326
// no cache this time
327327
}
328328

@@ -341,7 +341,7 @@ public function testValidationPaths()
341341
$this->assertSame('addYamlMappings', $calls[4][0]);
342342
$this->assertSame('enableAnnotationMapping', $calls[5][0]);
343343
$this->assertSame('addMethodMapping', $calls[6][0]);
344-
$this->assertSame(array('loadClassMetadata'), $calls[6][1]);
344+
$this->assertSame(array('loadValidatorMetadata'), $calls[6][1]);
345345

346346
$xmlMappings = $calls[3][1][0];
347347
$this->assertCount(2, $xmlMappings);
@@ -373,7 +373,7 @@ public function testValidationApiVersion()
373373
$this->assertCount(6, $calls);
374374
$this->assertSame('addXmlMappings', $calls[3][0]);
375375
$this->assertSame('addMethodMapping', $calls[4][0]);
376-
$this->assertSame(array('loadClassMetadata'), $calls[4][1]);
376+
$this->assertSame(array('loadValidatorMetadata'), $calls[4][1]);
377377
$this->assertSame('setApiVersion', $calls[5][0]);
378378
$this->assertSame(array(Validation::API_VERSION_2_4), $calls[5][1]);
379379
// no cache, no annotations

‎src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class OutputFormatterStyle implements OutputFormatterStyleInterface
4141
'white' => array('set' => 47, 'unset' => 49)
4242
);
4343
private static $availableOptions = array(
44-
'bold' => array('set' => 1, 'unset' => 21),
44+
'bold' => array('set' => 1, 'unset' => 22),
4545
'underscore' => array('set' => 4, 'unset' => 24),
4646
'blink' => array('set' => 5, 'unset' => 25),
4747
'reverse' => array('set' => 7, 'unset' => 27),
@@ -202,7 +202,7 @@ public function setOptions(array $options)
202202
public function apply($text)
203203
{
204204
$setCodes = array();
205-
$unsetCode = array();
205+
$unsetCodes = array();
206206

207207
if (null !== $this->foreground) {
208208
$setCodes[] = $this->foreground['set'];

‎src/Symfony/Component/Console/Tests/Formatter/OutputFormatterStyleTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Console/Tests/Formatter/OutputFormatterStyleTest.php
+5-5Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class OutputFormatterStyleTest extends \PHPUnit_Framework_TestCase
1818
public function testConstructor()
1919
{
2020
$style = new OutputFormatterStyle('green', 'black', array('bold', 'underscore'));
21-
$this->assertEquals("\033[32;40;1;4mfoo\033[39;49;21;24m", $style->apply('foo'));
21+
$this->assertEquals("\033[32;40;1;4mfoo\033[39;49;22;24m", $style->apply('foo'));
2222

2323
$style = new OutputFormatterStyle('red', null, array('blink'));
2424
$this->assertEquals("\033[31;5mfoo\033[39;25m", $style->apply('foo'));
@@ -63,16 +63,16 @@ public function testOptions()
6363
$this->assertEquals("\033[7;8mfoo\033[27;28m", $style->apply('foo'));
6464

6565
$style->setOption('bold');
66-
$this->assertEquals("\033[7;8;1mfoo\033[27;28;21m", $style->apply('foo'));
66+
$this->assertEquals("\033[7;8;1mfoo\033[27;28;22m", $style->apply('foo'));
6767

6868
$style->unsetOption('reverse');
69-
$this->assertEquals("\033[8;1mfoo\033[28;21m", $style->apply('foo'));
69+
$this->assertEquals("\033[8;1mfoo\033[28;22m", $style->apply('foo'));
7070

7171
$style->setOption('bold');
72-
$this->assertEquals("\033[8;1mfoo\033[28;21m", $style->apply('foo'));
72+
$this->assertEquals("\033[8;1mfoo\033[28;22m", $style->apply('foo'));
7373

7474
$style->setOptions(array('bold'));
75-
$this->assertEquals("\033[1mfoo\033[21m", $style->apply('foo'));
75+
$this->assertEquals("\033[1mfoo\033[22m", $style->apply('foo'));
7676

7777
try {
7878
$style->setOption('foo');

‎src/Symfony/Component/Debug/DebugClassLoader.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Debug/DebugClassLoader.php
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ public function loadClass($class)
175175
$refl = new \ReflectionClass($class);
176176
$name = $refl->getName();
177177

178-
if ($name !== $class) {
178+
if ($name !== $class && 0 === strcasecmp($name, $class)) {
179179
throw new \RuntimeException(sprintf('Case mismatch between loaded and declared class names: %s vs %s', $class, $name));
180180
}
181181
}

‎src/Symfony/Component/Debug/Tests/DebugClassLoaderTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Debug/Tests/DebugClassLoaderTest.php
+5Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,11 @@ public function testNotPsr0Bis()
151151
{
152152
$this->assertTrue(class_exists(__NAMESPACE__.'\Fixtures\NotPSR0bis', true));
153153
}
154+
155+
public function testClassAlias()
156+
{
157+
$this->assertTrue(class_exists(__NAMESPACE__.'\Fixtures\ClassAlias', true));
158+
}
154159
}
155160

156161
class ClassLoader
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<?php
2+
3+
class_alias('Symfony\Component\Debug\Tests\Fixtures\NotPSR0bis', 'Symfony\Component\Debug\Tests\Fixtures\ClassAlias');

‎src/Symfony/Component/HttpFoundation/HeaderBag.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/HttpFoundation/HeaderBag.php
+25Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,23 +240,48 @@ public function getDate($key, \DateTime $default = null)
240240
return $date;
241241
}
242242

243+
/**
244+
* Adds a custom Cache-Control directive.
245+
*
246+
* @param string $key The Cache-Control directive name
247+
* @param mixed $value The Cache-Control directive value
248+
*/
243249
public function addCacheControlDirective($key, $value = true)
244250
{
245251
$this->cacheControl[$key] = $value;
246252

247253
$this->set('Cache-Control', $this->getCacheControlHeader());
248254
}
249255

256+
/**
257+
* Returns true if the Cache-Control directive is defined.
258+
*
259+
* @param string $key The Cache-Control directive
260+
*
261+
* @return bool true if the directive exists, false otherwise
262+
*/
250263
public function hasCacheControlDirective($key)
251264
{
252265
return array_key_exists($key, $this->cacheControl);
253266
}
254267

268+
/**
269+
* Returns a Cache-Control directive value by name.
270+
*
271+
* @param string $key The directive name
272+
*
273+
* @return mixed|null The directive value if defined, null otherwise
274+
*/
255275
public function getCacheControlDirective($key)
256276
{
257277
return array_key_exists($key, $this->cacheControl) ? $this->cacheControl[$key] : null;
258278
}
259279

280+
/**
281+
* Removes a Cache-Control directive.
282+
*
283+
* @param string $key The Cache-Control directive
284+
*/
260285
public function removeCacheControlDirective($key)
261286
{
262287
unset($this->cacheControl[$key]);

‎src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* PHPs internal files session handler also works this way.
2121
*
2222
* Session data is a binary string that can contain non-printable characters like the null byte.
23-
+ For this reason this handler base64 encodes the data to be able to save it in a character column.
23+
* For this reason this handler base64 encodes the data to be able to save it in a character column.
2424
*
2525
* Attention: Since SQLite does not support row level locks but locks the whole database,
2626
* it means only one session can be accessed at a time. Even different sessions would wait

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.