8000 minor #12796 [Console] improve deprecation warning triggers (xabbuh) · symfony/symfony@f8fb8a9 · GitHub
[go: up one dir, main page]

Skip to content

Commit f8fb8a9

Browse files
committed
minor #12796 [Console] improve deprecation warning triggers (xabbuh)
This PR was merged into the 2.7 branch. Discussion ---------- [Console] improve deprecation warning triggers | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | #12771, #12791 | License | MIT | Doc PR | Since the default helper set of the Console `Application` relies on the `DialogHelper`, the `ProgressHelper` and the `TableHelper`, there must be a way to not always trigger `E_USER_DEPRECATION` errors when one of these helper is used. Commits ------- 88e3314 [Console] improve deprecation warning triggers
2 parents 79a5fdd + 88e3314 commit f8fb8a9

File tree

5 files changed

+29
-9
lines changed

5 files changed

+29
-9
lines changed

src/Symfony/Component/Console/Application.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -950,9 +950,9 @@ protected function getDefaultHelperSet()
950950
{
951951
return new HelperSet(array(
952952
new FormatterHelper(),
953-
new DialogHelper(),
954-
new ProgressHelper(),
955-
new TableHelper(),
953+
new DialogHelper(false),
954+
new ProgressHelper(false),
955+
new TableHelper(false),
956956
new DebugFormatterHelper(),
957957
new ProcessHelper(),
958958
new QuestionHelper(),

src/Symfony/Component/Console/Helper/DialogHelper.php

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

1212
namespace Symfony\Component\Console\Helper;
1313

14-
trigger_error('\Symfony\Component\Console\Helper\DialogHelper is deprecated since version 2.5 and will be removed in 3.0. Use QuestionHelper instead.', E_USER_DEPRECATED);
15-
1614
use Symfony\Component\Console\Output\OutputInterface;
1715
use Symfony\Component\Console\Formatter\OutputFormatterStyle;
1816

@@ -30,6 +28,13 @@ class DialogHelper extends InputAwareHelper
3028
private static $shell;
3129
private static $stty;
3230

31+
public function __construct($triggerDeprecationError = true)
32+
{
33+
if ($triggerDeprecationError) {
34+
trigger_error('"Symfony\Component\Console\Helper\DialogHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\Component\Console\Helper\QuestionHelper" instead.', E_USER_DEPRECATED);
35+
}
36+
}
37+
3338
/**
3439
* Asks the user to select a value.
3540
*

src/Symfony/Component/Console/Helper/HelperSet.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,14 @@ public function get($name)
7878
throw new \InvalidArgumentException(sprintf('The helper "%s" is not defined.', $name));
7979
}
8080

81+
if ('dialog' === $name && $this->helpers[$name] instanceof DialogHelper) {
82+
trigger_error('"Symfony\Component\Console\Helper\DialogHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\Component\Console\Helper\QuestionHelper" instead.', E_USER_DEPRECATED);
83+
} elseif ('progress' === $name && $this->helpers[$name] instanceof ProgressHelper) {
84+
trigger_error('"Symfony\Component\Console\Helper\ProgressHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\Component\Console\Helper\ProgressBar" instead.', E_USER_DEPRECATED);
85+
} elseif ('table' === $name && $this->helpers[$name] instanceof TableHelper) {
86+
trigger_error('"Symfony\Component\Console\Helper\TableHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\Component\Console\Helper\Table" instead.', E_USER_DEPRECATED);
87+
}
88+
8189
return $this->helpers[$name];
8290
}
8391

src/Symfony/Component/Console/Helper/ProgressHelper.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@
1414
use Symfony\Component\Console\Output\NullOutput;
1515
use Symfony\Component\Console\Output\OutputInterface;
1616

17-
trigger_error('The "ProgressHelper" class is deprecated since version 2.5 and will be removed in 3.0. Use "ProgressBar" class instead.', E_USER_DEPRECATED);
18-
1917
/**
2018
* The Progress class provides helpers to display progress output.
2119
*
@@ -119,6 +117,13 @@ class ProgressHelper extends Helper
119117
array(604800, 'days', 86400),
120118
);
121119

120+
public function __construct($triggerDeprecationError = true)
121+
{
122+
if ($triggerDeprecationError) {
123+
trigger_error('"Symfony\Component\Console\Helper\ProgressHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\Component\Console\Helper\ProgressBar" instead.', E_USER_DEPRECATED);
124+
}
125+
}
126+
122127
/**
123128
* Sets the progress bar width.
124129
*

src/Symfony/Component/Console/Helper/TableHelper.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,11 @@ class TableHelper extends Helper
3333
*/
3434
private $table;
3535

36-
public function __construct()
36+
public function __construct($triggerDeprecationError = true)
3737
{
38-
trigger_error('The TableHelper class was deprecated in version 2.5 and will be removed in 3.0. Use Symfony\Component\Console\Helper\Table instead.', E_USER_DEPRECATED);
38+
if ($triggerDeprecationError) {
39+
trigger_error('"Symfony\Component\Console\Helper\TableHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\Component\Console\Helper\Table" instead.', E_USER_DEPRECATED);
40+
}
3941

4042
$this->table = new Table(new NullOutput());
4143
}

0 commit comments

Comments
 (0)
0