*/ private int $exitStatus = 0; /** * Write a string to output. */ public function write(string $string): void { fwrite(STDOUT, $string); } /** * Write a string followed by the current line terminator to output. */ public function writeLine(string $string): void { fwrite(STDOUT, $string . PHP_EOL); } /** * Read a line from input. A string is trimmed. */ public function readLine(): string { $resource = fopen('php://stdin', 'r'); if ($resource === false) { throw new RuntimeException("Could not open stdin."); } $readString = fgets($resource); if ($readString === false) { $readString = ''; } $string = trim($readString); fclose($resource); return $string; } /** * Set exit-status. * * @param int<0, 255> $exitStatus * - `0` - success; * - `1` - error; * - `127` - command not found; */ public function setExitStatus(int $exitStatus): void { $this->exitStatus = $exitStatus; } /** * Get exit-status. * * @return int<0, 255> */ public function getExitStatus(): int { return $this->exitStatus; } }