Skip to content

Commit 1b407de

Browse files
committed
update: migrate code syntax to php 8.0+
1 parent c3ecac7 commit 1b407de

31 files changed

+266
-275
lines changed

example/flags-demo.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@
8686
// on render help
8787
return;
8888
}
89-
} catch (\Throwable $e) {
89+
} catch (Throwable $e) {
9090
if ($e instanceof FlagException) {
9191
Cli::colored('ERROR: ' . $e->getMessage(), 'error');
9292
} else {

example/sflags-demo.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
// on render help
5454
return;
5555
}
56-
} catch (\Throwable $e) {
56+
} catch (Throwable $e) {
5757
if ($e instanceof FlagException) {
5858
Cli::colored('ERROR: ' . $e->getMessage(), 'error');
5959
} else {

src/CliApp.php

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,12 @@ class CliApp
4747
];
4848

4949
/** @var string Current dir */
50-
private $pwd;
50+
private string $pwd;
5151

5252
/**
5353
* @var array
5454
*/
55-
protected $params = [
55+
protected array $params = [
5656
'name' => 'My application',
5757
'desc' => 'My command line application',
5858
'version' => '0.2.1'
@@ -61,36 +61,36 @@ class CliApp
6161
/**
6262
* @var FlagsParser
6363
*/
64-
protected $flags;
64+
protected FlagsParser|SFlags $flags;
6565

6666
/**
6767
* @var FlagsParser|null
6868
*/
69-
protected $cmdFlags;
69+
protected ?FlagsParser $cmdFlags;
7070

7171
/**
7272
* @var string
7373
*/
74-
private $scriptFile = '';
74+
private string $scriptFile = '';
7575

7676
/**
7777
* @var string
7878
*/
79-
private $scriptName = '';
79+
private string $scriptName = '';
8080

8181
/**
8282
* Current run command
8383
*
8484
* @var string
8585
*/
86-
private $command = '';
86+
private string $command = '';
8787

8888
/**
8989
* User add commands handlers
9090
*
9191
* @var array<string, callable>
9292
*/
93-
private $commands = [];
93+
private array $commands = [];
9494

9595
/**
9696
* Command messages for the commands
@@ -106,12 +106,12 @@ class CliApp
106106
* @var array
107107
* @see COMMAND_CONFIG
108108
*/
109-
private $metadata = [];
109+
private array $metadata = [];
110110

111111
/**
112112
* @var int
113113
*/
114-
private $keyWidth = 10;
114+
private int $keyWidth = 10;
115115

116116
/**
117117
* @return static
@@ -303,7 +303,7 @@ protected function initCommandFlags(string $command, $handler): FlagsParser
303303
*
304304
* @return mixed
305305
*/
306-
public function runHandler($handler, FlagsParser $cFlags)
306+
public function runHandler(mixed $handler, FlagsParser $cFlags): mixed
307307
{
308308
// function name
309309
if (is_string($handler) && function_exists($handler)) {
@@ -360,10 +360,10 @@ public function add(string $command, callable $handler, array $config = []): voi
360360

361361
/**
362362
* @param string $command
363-
* @param callable|class-string|object $handler
363+
* @param callable|object|class-string $handler
364364
* @param array{desc:string,options:array,arguments:array} $config
365365
*/
366-
public function addCommand(string $command, $handler, array $config = []): void
366+
public function addCommand(string $command, callable|object|string $handler, array $config = []): void
367367
{
368368
if (!$command) {
369369
throw new InvalidArgumentException('command name can not be empty');

src/CliCmd.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@ class CliCmd
1818
__construct as supper;
1919
}
2020

21-
public $name = '';
22-
public $desc = 'command description';
21+
public string $name = '';
22+
public string $desc = 'command description';
2323

24-
public $options = [];
25-
public $arguments = [];
24+
public array $options = [];
25+
public array $arguments = [];
2626

2727
/**
2828
* @var FlagsParser
2929
*/
30-
private $flags;
30+
private FlagsParser|SFlags $flags;
3131

3232
/**
3333
* @var callable(FlagsParser): mixed
@@ -104,7 +104,7 @@ protected function prepare(FlagsParser $fs): void
104104
/**
105105
* @return int|mixed
106106
*/
107-
public function run()
107+
public function run(): mixed
108108
{
109109
$handler = $this->handler;
110110
if (!$handler) {

src/Concern/HelperRenderTrait.php

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
use function strpos;
2727
use function trim;
2828
use function ucfirst;
29-
use function vdump;
3029

3130
/**
3231
* trait HelperRenderTrait
@@ -43,12 +42,12 @@ trait HelperRenderTrait
4342
/**
4443
* @var string|array|null
4544
*/
46-
protected $moreHelp = '';
45+
protected string|array|null $moreHelp = '';
4746

4847
/**
4948
* @var string|array|null
5049
*/
51-
protected $exampleHelp = '';
50+
protected string|array|null $exampleHelp = '';
5251

5352
// -------------------- settings for built-in render help --------------------
5453

@@ -57,7 +56,7 @@ trait HelperRenderTrait
5756
*
5857
* @var bool
5958
*/
60-
protected $autoRenderHelp = true;
59+
protected bool $autoRenderHelp = true;
6160

6261
/**
6362
* Show flag data type on render help.
@@ -72,12 +71,12 @@ trait HelperRenderTrait
7271
*
7372
* @var bool
7473
*/
75-
protected $showTypeOnHelp = true;
74+
protected bool $showTypeOnHelp = true;
7675

7776
/**
7877
* @var bool
7978
*/
80-
protected $showHiddenOpt = false;
79+
protected bool $showHiddenOpt = false;
8180

8281
/**
8382
* Will call it on before print help message
@@ -196,12 +195,12 @@ protected function doBuildHelp(array $argDefines, array $optDefines, bool $withC
196195
}
197196

198197
/**
199-
* @param array|Option|Argument $define
198+
* @param array|Argument|Option $define
200199
*
201200
* @return array
202201
* @see FlagsParser::DEFINE_ITEM for array $define
203202
*/
204-
protected function formatDesc($define): array
203+
protected function formatDesc(Argument|Option|array $define): array
205204
{
206205
$desc = $define['desc'] ?: 'No description';
207206
if ($define['required']) {
@@ -270,7 +269,8 @@ protected function buildArgsForHelp(array $argDefines): array
270269
$fmtArgs[$helpName] = $arg;
271270
}
272271

273-
$this->settings['argNameLen'] = $maxLen;
272+
// $this->settings['argNameLen'] = $maxLen;
273+
$this->set('argNameLen', $maxLen);
274274
return $fmtArgs;
275275
}
276276

@@ -334,9 +334,11 @@ protected function buildOptsForHelp(array $optDefines, bool $hasShortOpt): array
334334
// limit option name width
335335
$maxLen = IntHelper::getMax($this->settings['descNlOnOptLen'], self::OPT_MAX_WIDTH);
336336

337-
$this->settings['descNlOnOptLen'] = $maxLen;
337+
// $this->settings['descNlOnOptLen'] = $maxLen;
338+
$this->set('descNlOnOptLen', $maxLen);
338339
// set opt name len
339-
$this->settings['optNameLen'] = IntHelper::getMin($nameLen, $maxLen);
340+
// $this->settings['optNameLen'] = IntHelper::getMin($nameLen, $maxLen);
341+
$this->set('optNameLen', IntHelper::getMin($nameLen, $maxLen));
340342
return $fmtOpts;
341343
}
342344

@@ -429,23 +431,23 @@ public function setShowTypeOnHelp(bool $showTypeOnHelp): void
429431
/**
430432
* @return array|string|null
431433
*/
432-
public function getMoreHelp()
434+
public function getMoreHelp(): array|string|null
433435
{
434436
return $this->moreHelp;
435437
}
436438

437439
/**
438440
* @param array|string|null $moreHelp
439441
*/
440-
public function setHelp($moreHelp): void
442+
public function setHelp(array|string|null $moreHelp): void
441443
{
442444
$this->setMoreHelp($moreHelp);
443445
}
444446

445447
/**
446448
* @param array|string|null $moreHelp
447449
*/
448-
public function setMoreHelp($moreHelp): void
450+
public function setMoreHelp(array|string|null $moreHelp): void
449451
{
450452
if ($moreHelp) {
451453
$this->moreHelp = $moreHelp;
@@ -455,23 +457,23 @@ public function setMoreHelp($moreHelp): void
455457
/**
456458
* @return array|string|null
457459
*/
458-
public function getExampleHelp()
460+
public function getExampleHelp(): array|string|null
459461
{
460462
return $this->exampleHelp;
461463
}
462464

463465
/**
464466
* @param array|string|null $example
465467
*/
466-
public function setExample($example): void
468+
public function setExample(array|string|null $example): void
467469
{
468470
$this->setExampleHelp($example);
469471
}
470472

471473
/**
472474
* @param array|string|null $exampleHelp
473475
*/
474-
public function setExampleHelp($exampleHelp): void
476+
public function setExampleHelp(array|string|null $exampleHelp): void
475477
{
476478
if ($exampleHelp) {
477479
$this->exampleHelp = $exampleHelp;

src/Concern/RuleParserTrait.php

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ trait RuleParserTrait
5656
*
5757
* @var array
5858
*/
59-
protected $optRules = [];
59+
protected array $optRules = [];
6060

6161
/**
6262
* The arguments rules
@@ -83,7 +83,7 @@ trait RuleParserTrait
8383
*
8484
* @var array
8585
*/
86-
protected $argRules = [];
86+
protected array $argRules = [];
8787

8888
/****************************************************************
8989
* add rule methods
@@ -110,11 +110,11 @@ public function addOptsByRules(array $rules): void
110110
* Add and option by rule
111111
*
112112
* @param string $name
113-
* @param string|array $rule {@see optRules}
113+
* @param array|string $rule {@see optRules}
114114
*
115-
* @return $this
115+
* @return static
116116
*/
117-
public function addOptByRule(string $name, $rule): self
117+
public function addOptByRule(string $name, array|string $rule): static
118118
{
119119
$this->optRules[$name] = $rule;
120120

@@ -141,11 +141,11 @@ public function addArgsByRules(array $rules): void
141141
* Add and argument by rule
142142
*
143143
* @param string $name
144-
* @param string|array $rule please see {@see argRules}
144+
* @param array|string $rule please see {@see argRules}
145145
*
146-
* @return $this
146+
* @return static
147147
*/
148-
public function addArgByRule(string $name, $rule): self
148+
public function addArgByRule(string $name, array|string $rule): static
149149
{
150150
if ($name && !is_numeric($name)) {
151151
$this->argRules[$name] = $rule;
@@ -178,7 +178,7 @@ public function addArgByRule(string $name, $rule): self
178178
* - 'type;desc;;' - not set required,default
179179
* - 'type;;;default' - not set required,desc
180180
*
181-
* @param string|array $rule
181+
* @param array|string $rule
182182
* @param string $name
183183
* @param int $index
184184
* @param bool $isOption
@@ -187,7 +187,7 @@ public function addArgByRule(string $name, $rule): self
187187
* @see argRules
188188
* @see optRules
189189
*/
190-
protected function parseRule($rule, string $name = '', int $index = 0, bool $isOption = true): array
190+
protected function parseRule(array|string $rule, string $name = '', int $index = 0, bool $isOption = true): array
191191
{
192192
if (!$rule) {
193193
$rule = FlagType::STRING;
@@ -351,5 +351,4 @@ public function setArgRules(array $argRules): void
351351
{
352352
$this->addArgsByRules($argRules);
353353
}
354-
355354
}

src/Contract/FlagInterface.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,17 @@ public function getDesc(bool $forHelp = false): string;
4545
*
4646
* @return mixed
4747
*/
48-
public function getValue();
48+
public function getValue(): mixed;
4949

5050
/**
5151
* @param mixed $value
5252
*/
53-
public function setValue($value): void;
53+
public function setValue(mixed $value): void;
5454

5555
/**
5656
* @param mixed $value
5757
*/
58-
public function setTrustedValue($value): void;
58+
public function setTrustedValue(mixed $value): void;
5959

6060
/**
6161
* @return bool

0 commit comments

Comments
 (0)