public static function readln($message = null, $nl = false, array $opts = []): string
    {
        if ($message) {
            Console::write($message, $nl);
        }

        $stream = $opts['stream'] ?? \STDIN;

        return \trim(fgets($stream));
    }
public static function readln($message = null, $nl = false, array $opts = []): string
    {
        if ($message) {
            Console::write($message, $nl);
        }

        $stream = $opts['stream'] ?? \STDIN;

        return \trim(fgets($stream));
    }
public static function readln ( $ message = null , $ nl = false , array $ opts = [ ] ) : string { if ( $ message ) { Console :: write ( $ message , $ nl ) ; } $ stream = $ opts [ 'stream' ] ?? \ STDIN ; return \ trim ( fgets ( $ stream ) ) ; }
read line from CLI input
@param mixed $message
@param bool  $nl
@param array $opts
[
'stream' => \STDIN
]
@return string
read line from CLI input