diff options
| author | Bob Weinand <bobwei9@hotmail.com> | 2013-12-20 14:27:51 +0100 |
|---|---|---|
| committer | Bob Weinand <bobwei9@hotmail.com> | 2013-12-20 14:27:51 +0100 |
| commit | cee72c13d7defa8a51c33e2b6ed2c73d85fd4c2a (patch) | |
| tree | c64561a3e7385a22ac6d416fb3252208b3a1392c /sapi/phpdbg/.phpdbginit | |
| parent | 436ca2d019ed3ec3183129f9a3a7e329446077e9 (diff) | |
| parent | ef3e0119b8437c855049ee3a67b0317dce055669 (diff) | |
| download | php-git-cee72c13d7defa8a51c33e2b6ed2c73d85fd4c2a.tar.gz | |
Merge branch 'master' of sapi/phpdbg into PHP-5.6
Including phpdbg.
Diffstat (limited to 'sapi/phpdbg/.phpdbginit')
| -rw-r--r-- | sapi/phpdbg/.phpdbginit | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/sapi/phpdbg/.phpdbginit b/sapi/phpdbg/.phpdbginit new file mode 100644 index 0000000000..1ad35218ed --- /dev/null +++ b/sapi/phpdbg/.phpdbginit @@ -0,0 +1,105 @@ +########################################################## +# .phpdbginit +# +# Lines starting with # are ignored +# Code must start and end with <: and :> respectively +########################################################## +# Place initialization commands one per line +########################################################## +# exec sapi/phpdbg/test.php +# set color prompt white-bold +# set color notice green +# set color error red + +########################################################## +# Embedding code in .phpdbginit +########################################################## +<: +/* +* This embedded PHP is executed at init time +*/ + +/* +* Functions defined and registered by init +* will persist across cleans +*/ + +/* +function my_debugging_function() +{ + var_dump(func_get_args()); +} +*/ + +/* phpdbg_break(PHPDBG_METHOD, "phpdbg::method"); */ +/* phpdbg_break(PHPDBG_FUNC, "my_global_function"); */ +/* phpdbg_break(PHPDBG_FILE, "/path/to/file.php:10"); */ + +/* + If readline is loaded, you might want to setup completion: +*/ +if (function_exists('readline_completion_function')) { + readline_completion_function(function(){ + return array_merge( + get_defined_functions()['user'], + array_keys(get_defined_constants()) + ); + }); +} + +/* + Setting argv made trivial ... + + argv 1 2 3 4 + ^ set argv for next execution + + argv + ^ unset argv for next execution + +*/ +function argv() +{ + $argv = func_get_args(); + + if (!$argv) { + $_SERVER['argv'] = array(); + $_SERVER['argc'] = 0; + return; + } + + $_SERVER['argv'] = array_merge + ( + array("phpdbg"), + $argv + ); + $_SERVER['argc'] = count($_SERVER['argv']); + + return $_SERVER['argv']; +} +:> +########################################################## +# Now carry on initializing phpdbg ... +########################################################## +# R my_debugging_function +# R argv + +########################################################## +# PHP has many functions that might be useful +# ... you choose ... +########################################################## +# R touch +# R unlink +# R scandir +# R glob + +########################################################## +# Remember: *you have access to the shell* +########################################################## +# The output of registered function calls is not, +# by default, very pretty (unless you implement +# and register a new implementation for phpdbg) +# The output of shell commands will usually be more +# readable on the console +########################################################## +# TLDR; if you have a good shell, use it ... +########################################################## |
