These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | |||
3 | use PhpSchool\CliMenu\CliMenu; |
||
4 | use PhpSchool\CliMenu\Builder\CliMenuBuilder; |
||
5 | use PhpSchool\CliMenu\MenuItem\LineBreakItem; |
||
6 | use PhpSchool\CliMenu\MenuItem\MenuItemInterface; |
||
7 | |||
8 | require_once(__DIR__ . '/../vendor/autoload.php'); |
||
9 | |||
10 | $itemCallable = function (CliMenu $menu) { |
||
11 | $colour = function () { |
||
12 | return array_rand(array_flip(['blue', 'green', 'red', 'yellow'])); |
||
13 | }; |
||
14 | $int = function () { |
||
15 | return rand(1, 20); |
||
16 | }; |
||
17 | |||
18 | $bg = $colour(); |
||
19 | while (($fg = $colour()) === $bg) { |
||
0 ignored issues
–
show
|
|||
20 | } |
||
21 | |||
22 | $menu->getStyle()->setBg($bg); |
||
23 | $menu->getStyle()->setFg($fg); |
||
24 | $menu->getStyle()->setPadding($int()); |
||
25 | $menu->getStyle()->setMargin($int()); |
||
26 | |||
27 | $items = $menu->getItems(); |
||
28 | |||
29 | array_walk($items, function (MenuItemInterface $item) use ($menu) { |
||
30 | $menu->removeItem($item); |
||
31 | }); |
||
32 | |||
33 | $items = array_filter($items, function (MenuItemInterface $item) { |
||
34 | return !$item instanceof LineBreakItem; |
||
35 | }); |
||
36 | |||
37 | foreach (range(0, rand(1, 5)) as $i) { |
||
38 | $items[] = new LineBreakItem(array_rand(array_flip(['♥', '★', '😂 '])), rand(1, 3)); |
||
39 | } |
||
40 | shuffle($items); |
||
41 | |||
42 | array_walk( |
||
43 | $items, |
||
44 | function (MenuItemInterface $item) use ($menu) { |
||
45 | $menu->addItem($item); |
||
46 | } |
||
47 | ); |
||
48 | |||
49 | $menu->redraw(true); |
||
50 | }; |
||
51 | |||
52 | $menu = (new CliMenuBuilder) |
||
53 | ->setTitle('Basic CLI Menu') |
||
54 | ->setWidth(80) |
||
55 | ->addItem('First Item', $itemCallable) |
||
56 | ->addItem('Second Item', $itemCallable) |
||
57 | ->addItem('Third Item', $itemCallable) |
||
58 | ->addLineBreak('-') |
||
59 | ->build(); |
||
60 | |||
61 | $menu->open(); |
||
62 |
This check looks for
while
loops that have no statements or where all statements have been commented out. This may be the result of changes for debugging or the code may simply be obsolete.Consider removing the loop.