Passed
Branch master (e920ad)
by Aydin
04:45
created

anonymous//examples/input-custom.php$0   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 7
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 1
dl 0
loc 7
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A input-custom.php$0 ➔ validate() 0 4 1
1
<?php
2
3
use PhpSchool\CliMenu\CliMenu;
4
use PhpSchool\CliMenu\Builder\CliMenuBuilder;
5
use PhpSchool\CliMenu\Input\Text;
6
use PhpSchool\CliMenu\Input\InputIO;
7
use PhpSchool\CliMenu\MenuStyle;
8
9
require_once(__DIR__ . '/../vendor/autoload.php');
10
11
$itemCallable = function (CliMenu $menu) {
12
    $style = (new MenuStyle())
13
        ->setBg('yellow')
14
        ->setFg('black');
15
    
16
    $input = new class (new InputIO($menu, $menu->getTerminal()), $style) extends Text {
17
        public function validate(string $value) : bool
18
        {
19
            //some validation
20
            return true;
21
        }
22
    };
23
24
    $result = $input->ask();
25
26
    var_dump($result->fetch());
1 ignored issue
show
Security Debugging Code introduced by
var_dump($result->fetch()) looks like debug code. Are you sure you do not want to remove it?
Loading history...
27
};
28
29
$menu = (new CliMenuBuilder)
30
    ->setTitle('Basic CLI Menu')
31
    ->addItem('Enter text', $itemCallable)
32
    ->addLineBreak('-')
33
    ->setMarginAuto()
34
    ->build();
35
36
$menu->open();