Exceptions
5 days ago
apache.php
5 days ago
apcu.php
5 days ago
array.php
5 days ago
bzip2.php
5 days ago
calendar.php
5 days ago
classobj.php
5 days ago
com.php
5 days ago
cubrid.php
5 days ago
curl.php
5 days ago
datetime.php
5 days ago
dir.php
5 days ago
eio.php
5 days ago
errorfunc.php
5 days ago
exec.php
5 days ago
fileinfo.php
5 days ago
filesystem.php
5 days ago
filter.php
5 days ago
fpm.php
5 days ago
ftp.php
5 days ago
funchand.php
5 days ago
functionsList.php
5 days ago
gmp.php
5 days ago
gnupg.php
5 days ago
hash.php
5 days ago
ibase.php
5 days ago
ibmDb2.php
5 days ago
iconv.php
5 days ago
image.php
5 days ago
imap.php
5 days ago
info.php
5 days ago
ingres-ii.php
5 days ago
inotify.php
5 days ago
json.php
5 days ago
ldap.php
5 days ago
libxml.php
5 days ago
lzf.php
5 days ago
mailparse.php
5 days ago
mbstring.php
5 days ago
misc.php
5 days ago
msql.php
5 days ago
mysql.php
5 days ago
mysqli.php
5 days ago
mysqlndMs.php
5 days ago
mysqlndQc.php
5 days ago
network.php
5 days ago
oci8.php
5 days ago
opcache.php
5 days ago
openssl.php
5 days ago
outcontrol.php
5 days ago
password.php
5 days ago
pcntl.php
5 days ago
pcre.php
5 days ago
pdf.php
5 days ago
pgsql.php
5 days ago
posix.php
5 days ago
ps.php
5 days ago
pspell.php
5 days ago
readline.php
5 days ago
rpminfo.php
5 days ago
rrd.php
5 days ago
sem.php
5 days ago
session.php
5 days ago
shmop.php
5 days ago
simplexml.php
5 days ago
sockets.php
5 days ago
sodium.php
5 days ago
solr.php
5 days ago
spl.php
5 days ago
sqlsrv.php
5 days ago
ssdeep.php
5 days ago
ssh2.php
5 days ago
stream.php
5 days ago
strings.php
5 days ago
swoole.php
5 days ago
uodbc.php
5 days ago
uopz.php
5 days ago
url.php
5 days ago
var.php
5 days ago
xdiff.php
5 days ago
xml.php
5 days ago
xmlrpc.php
5 days ago
yaml.php
5 days ago
yaz.php
5 days ago
zip.php
5 days ago
zlib.php
5 days ago
readline.php
147 lines
| 1 | <?php |
| 2 | |
| 3 | namespace ProfilePressVendor\Safe; |
| 4 | |
| 5 | use ProfilePressVendor\Safe\Exceptions\ReadlineException; |
| 6 | /** |
| 7 | * This function adds a line to the command line history. |
| 8 | * |
| 9 | * @param string $line The line to be added in the history. |
| 10 | * @throws ReadlineException |
| 11 | * |
| 12 | */ |
| 13 | function readline_add_history(string $line): void |
| 14 | { |
| 15 | error_clear_last(); |
| 16 | $result = \readline_add_history($line); |
| 17 | if ($result === \false) { |
| 18 | throw ReadlineException::createFromPhpError(); |
| 19 | } |
| 20 | } |
| 21 | /** |
| 22 | * Sets up a readline callback interface then prints |
| 23 | * prompt and immediately returns. |
| 24 | * Calling this function twice without removing the previous |
| 25 | * callback interface will automatically and conveniently overwrite the old |
| 26 | * interface. |
| 27 | * |
| 28 | * The callback feature is useful when combined with |
| 29 | * stream_select as it allows interleaving of IO and |
| 30 | * user input, unlike readline. |
| 31 | * |
| 32 | * |
| 33 | * Readline Callback Interface Example |
| 34 | * |
| 35 | * 10) { |
| 36 | * $prompting = false; |
| 37 | * readline_callback_handler_remove(); |
| 38 | * } else { |
| 39 | * readline_callback_handler_install("[$c] Enter something: ", 'rl_callback'); |
| 40 | * } |
| 41 | * } |
| 42 | * |
| 43 | * $c = 1; |
| 44 | * $prompting = true; |
| 45 | * |
| 46 | * readline_callback_handler_install("[$c] Enter something: ", 'rl_callback'); |
| 47 | * |
| 48 | * while ($prompting) { |
| 49 | * $w = NULL; |
| 50 | * $e = NULL; |
| 51 | * $n = stream_select($r = array(STDIN), $w, $e, null); |
| 52 | * if ($n && in_array(STDIN, $r)) { |
| 53 | * // read a character, will call the callback when a newline is entered |
| 54 | * readline_callback_read_char(); |
| 55 | * } |
| 56 | * } |
| 57 | * |
| 58 | * echo "Prompting disabled. All done.\n"; |
| 59 | * ?> |
| 60 | * ]]> |
| 61 | * |
| 62 | * |
| 63 | * |
| 64 | * @param string $prompt The prompt message. |
| 65 | * @param callable $callback The callback function takes one parameter; the |
| 66 | * user input returned. |
| 67 | * @throws ReadlineException |
| 68 | * |
| 69 | */ |
| 70 | function readline_callback_handler_install(string $prompt, callable $callback): void |
| 71 | { |
| 72 | error_clear_last(); |
| 73 | $result = \readline_callback_handler_install($prompt, $callback); |
| 74 | if ($result === \false) { |
| 75 | throw ReadlineException::createFromPhpError(); |
| 76 | } |
| 77 | } |
| 78 | /** |
| 79 | * This function clears the entire command line history. |
| 80 | * |
| 81 | * @throws ReadlineException |
| 82 | * |
| 83 | */ |
| 84 | function readline_clear_history(): void |
| 85 | { |
| 86 | error_clear_last(); |
| 87 | $result = \readline_clear_history(); |
| 88 | if ($result === \false) { |
| 89 | throw ReadlineException::createFromPhpError(); |
| 90 | } |
| 91 | } |
| 92 | /** |
| 93 | * This function registers a completion function. This is the same kind of |
| 94 | * functionality you'd get if you hit your tab key while using Bash. |
| 95 | * |
| 96 | * @param callable $function You must supply the name of an existing function which accepts a |
| 97 | * partial command line and returns an array of possible matches. |
| 98 | * @throws ReadlineException |
| 99 | * |
| 100 | */ |
| 101 | function readline_completion_function(callable $function): void |
| 102 | { |
| 103 | error_clear_last(); |
| 104 | $result = \readline_completion_function($function); |
| 105 | if ($result === \false) { |
| 106 | throw ReadlineException::createFromPhpError(); |
| 107 | } |
| 108 | } |
| 109 | /** |
| 110 | * This function reads a command history from a file. |
| 111 | * |
| 112 | * @param string $filename Path to the filename containing the command history. |
| 113 | * @throws ReadlineException |
| 114 | * |
| 115 | */ |
| 116 | function readline_read_history(string $filename = null): void |
| 117 | { |
| 118 | error_clear_last(); |
| 119 | if ($filename !== null) { |
| 120 | $result = \readline_read_history($filename); |
| 121 | } else { |
| 122 | $result = \readline_read_history(); |
| 123 | } |
| 124 | if ($result === \false) { |
| 125 | throw ReadlineException::createFromPhpError(); |
| 126 | } |
| 127 | } |
| 128 | /** |
| 129 | * This function writes the command history to a file. |
| 130 | * |
| 131 | * @param string $filename Path to the saved file. |
| 132 | * @throws ReadlineException |
| 133 | * |
| 134 | */ |
| 135 | function readline_write_history(string $filename = null): void |
| 136 | { |
| 137 | error_clear_last(); |
| 138 | if ($filename !== null) { |
| 139 | $result = \readline_write_history($filename); |
| 140 | } else { |
| 141 | $result = \readline_write_history(); |
| 142 | } |
| 143 | if ($result === \false) { |
| 144 | throw ReadlineException::createFromPhpError(); |
| 145 | } |
| 146 | } |
| 147 |