This PR was merged into the 2.7 branch.
Discussion
----------
[CS] Respect PSR2 4.2
| Q | A
| ------------- | ---
| Branch | 2.7
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
http://www.php-fig.org/psr/psr-2/#4-2-properties
I'm writing a [new fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/1889) (`single_class_element_per_statement`), which intends to avoid multiple class elements in one statement.
This PR is a POC about the result of this fixer, so I'd like to know what do you think about, since it will be also added to the `@Symfony` ruleset.
Please note that class constants are considered too, but here isn't any offending code about that.
Example output:
```
$ ./php-cs-fixer.phar fix . --rules=single_class_element_per_statement -vvv
1) src/Symfony/Component/Console/Tests/Input/InputDefinitionTest.php (single_class_element_per_statement)
2) src/Symfony/Component/DependencyInjection/Tests/ContainerTest.php (single_class_element_per_statement)
3) src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/foo.php (single_class_element_per_statement)
4) src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/Fixtures/includes/foo.php (single_class_element_per_statement)
```
Commits
-------
d250b1d [CS] Respect PSR2 4.2
Remove input/output from method arguments, use SymfonyStyle instead
Avoid 'error in filename' if no filename as argument
Add missing array typehint to files argument of display*() methods
Store format option as member rather than pass it in method calls
CS fixes
This PR was merged into the 3.2-dev branch.
Discussion
----------
Undefined variable $name
| Q | A
| ------------- | ---
| Branch? | "master" for new features / 2.7, 2.8, 3.0 or 3.1 for fixes
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Commits
-------
8304bcc Undefined variable $name
This PR was merged into the 3.2-dev branch.
Discussion
----------
[Console] update the author of the LockableTrait
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/18471#discussion_r68284858
| License | MIT
| Doc PR |
Commits
-------
b15fec7 update the author of the LockableTrait
This PR was merged into the 3.2-dev branch.
Discussion
----------
[Console] LockableTrait: change visibility to private
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/18471#discussion_r68231747
| License | MIT
| Doc PR |
Without this change we force users to expose unnecessary extension points they may not want to provide.
Commits
-------
eaa3bb0 LockableTrait: change visibility to private
This PR was merged into the 3.2-dev branch.
Discussion
----------
[FrameworkBundle] Remove redundant code
| Q | A
| ------------- | ---
| Branch? | "master"
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Was part of https://github.com/symfony/symfony/pull/17706.
Change the remaining ``isset($config['foo'])`` to ``$this->isConfigEnabled($config['foo'])`` to allow to use parameters to enable a feature.
Commits
-------
a21af88 [FrameworkBundle] Remove redundant code
This PR was merged into the 3.2-dev branch.
Discussion
----------
[Yaml] Added support for parsing PHP constants
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | TODO
Commits
-------
17ec26e [DI] added support for PHP constants in yaml configuration files
02d1dea [Yaml] added support for parsing PHP constants
This PR was squashed before being merged into the 3.2-dev branch (closes#19104).
Discussion
----------
Adds support for the SameSite attribute in cookies.
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | N/A
| License | MIT
| Doc PR | N/A
$sameSite can be set to false, "lax", or "strict".
You can read about what the different modes do here: http://www.sjoerdlangkemper.nl/2016/04/14/preventing-csrf-with-samesite-cookie-attribute/
Commits
-------
428d0f7 Adds support for the SameSite attribute in cookies.
This PR was merged into the 2.7 branch.
Discussion
----------
Distinguish between first and subsequent progress bar displays
| Q | A
| ------------- | ---
| Branch? | 2.7
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #19133
| License | MIT
| Doc PR | reference to the documentation PR, if any
Fixes https://github.com/symfony/symfony/issues/19133
When a progress bar is first displayed, if it is multi-line, previously output lines are erased, depending upon the number of lines in the progress bar.
This patch fixes that be distinguishing between the first display (no erasing of previous output) and subsequent displays of the progress bar.
Commits
-------
3871e1a Differentiate between the first time a progress bar is displayed and subsequent times
This PR was merged into the 3.2-dev branch.
Discussion
----------
[Routing] support for array values in route defaults
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
As pointed out in symfony/symfony-docs#4017, the ``XmlFileLoader`` was not capable of defining array default values.
- [x] array values
- [x] integer values
- [x] float values
- [x] boolean
Commits
-------
120b35c [Routing] data type support for defaults
As pointed out in symfony/symfony-docs#4017, the XmlFileLoader was not
capable of defining array default values. Additionally, this commit
adds support for handling associative arrays, boolean, integer, float
and string data types.
This PR was merged into the 3.2-dev branch.
Discussion
----------
[VarDumper] Add support for XmlReader objects
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #18989
| License | MIT
| Doc PR | -
Commits
-------
3779ee4 [VarDumper] Add support for XmlReader objects
This PR was merged into the 3.2-dev branch.
Discussion
----------
[Console] Add Lockable trait
| Q | A
| ------------- | ---
| Branch? | "master"
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none
| License | MIT
| Doc PR | none for the moment :)
Hi there,
Since the 2.6 the `LockHandler` class was added to ease concurrency problems. There was a nice post about [using it in your commands](http://symfony.com/blog/new-in-symfony-2-6-lockhandler).
From my humble experience, I find it a bit unpleasant/time consuming to always copy/paste the same code. So here is my proposal:
Before:
```php
class UpdateContentsCommand extends Command
{
protected function configure()
{
// ...
}
protected function execute(InputInterface $input, OutputInterface $output)
{
// create the lock
$lock = new LockHandler('update:contents');
if (!$lock->lock()) {
$output->writeln('The command is already running in another process.');
return 0;
}
// Your code
$lock->release();
}
}
```
After:
```php
class MyCommand extends Command
{
use LockableTrait;
protected function execute(InputInterface $input, OutputInterface $output)
{
if (!$this->lock()) {
// Here you can handle locking errors
}
// Your code
// The lock release is still optionnal
$this->release();
}
}
```
In addition, you can optionally pass two arguments:
- a string argument to change the lock name
- a boolean argument to indicate if you want to wait until the requested lock is released
Commits
-------
b57a83f [Console] Add Lockable trait
This PR was merged into the 3.2-dev branch.
Discussion
----------
[FrameworkBundle][Yaml] Move YamlLintCommand to the Yaml component
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #18987
| License | MIT
| Doc PR | ~
See #18987 for the use case.
Also I see several things that can be simplified/optimized in the original command, but I think it would be better to propose the changes in a next PR and just propose the exact changes needed to move it outside of the framework. If all should be done here, let me know before reviewing it.
Commits
-------
33402ea Add Yaml LintCommand
Add tests
Fix tests & YamlLintCommand help formatting
fabbot fixes
Use Generator to iterate over the filesystem
Move STDIN related code in a method
Use RecursiveIteratorIterator::LEAVES_ONLY rather than SELF_FIRST
Stop using the Finder component when available (Make findFiles() private)
Re-add FrameworkBundle YamlLintCommandTest
Use CommandTester::getStatusCode() rather than assign execute()
Re-add feature for bundle directories, Test it
This PR was squashed before being merged into the 2.8 branch (closes#19142).
Discussion
----------
[Security] [Guard] Improve comment with working example
| Q | A
| ------------- | ---
| Branch? | 2.8
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Improve the code given in the comment to make it work.
If you follow blindly the previous example (as I did) and never return null, you're stucked in an infinite redirection loop on your login page.
Commits
-------
b36fc32 [Security] [Guard] Improve comment with working example
This PR was merged into the 2.7 branch.
Discussion
----------
sync min email validator version
| Q | A
| ------------- | ---
| Branch? | 2.7
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
I stumbled upon this while trying to run the min deps version tests while installing everything from the global `composer.json` file. In the Validator component, we already have this present for a long time sine b1b5cca41c.
Commits
-------
c484db1 sync min email validator version
This PR was merged into the 3.2-dev branch.
Discussion
----------
Response headers fix
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes/no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #16171, #16307
| License | MIT
| Doc PR | n/a
To fix the inconsistency mentioned in #16171, I think the "best" solution would be to add `private` when cache-control is not set, which was the intention but was forgotten.
I propose to make the fix in 3.2 only as it might be a BC break.
Commits
-------
66afa01 [HttpFoundation] added private by default when setting Cache-Control to no-cache
This PR was merged into the 3.2-dev branch.
Discussion
----------
[Console] Reference changes that ease command testing in changelog
| Q | A
| ------------- | ---
| Branch? | "master"
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | ~
I totally forget to do it in the corresponding PRs,
I used `3.2.0` even if not yet released, hope that is correct.
Commits
-------
a0b4ae7 Reference changes that ease command testing in 3.2