Skip to content
PHP
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
PHP
examples
scripts
tests
.gitignore
.travis.yml
README
composer.json
package.xml

README

A interactive PHP Shell
=======================

The more I work with other languages like python and ruby I like their way how they
work on problems. While PHP is very forgiving on errors, it is weak on the debugging
side. It was missing a simple to use interactive shell for years. Python and Ruby have
their ipython and iruby shell which give you a direct way to interact with the objects.
No need to write a script and execute it afterwards.


Starting the Shell
------------------

Starting with PHP_Shell 0.2.1 starting the shell is done by calling the shell-wrappers:

$ php-shell.sh

or on Windows

> php-shell.bat

Write your own wrapper
----------------------

Sometimes you want to write your own shell where you provide your own defaults, colours and
error-handlers.

<?php
    error_reporting(E_ALL);

    require "php-shell-cmd.php";
?>

and execute it with:

$ php -q php-shell.php

Inline Help
-----------

PHP-Shell - Version 0.2.0, with readline() support
(c) 2006, Jan Kneschke <jan@kneschke.de>
released under the terms of the PHP License 2.0

>> use '?' to open the inline help

>> ?
"inline help for the PHP-shell

  >> ?
    print this help
  >> ? <topic>
    get the doccomment for a class, method, property or function
  >> p <var>
    execute a verbose print (if implemented)
  >> quit
    leave shell
"
>> ? PHP_Shell

Shell Colours
-------------

The shell supports colours to seperate Exceptions from normal output of your 
functions. To enable the colours you can to set:

>> :set background=dark

By default the colour-schemes 'plain' (the default), 'light' and 'dark' are
defined.

You can also register your own colour schemes:

>> $__shell->registerColourScheme( 'custom', array(
..   "default" => PHP_SHELL::C_LIGHT_RED, /* colour of the prompt */
..   "value" => PHP_SHELL::C_BLACK, /* colour of a return value  */
..   "exception" => PHP_SHELL::C_RED, /* colour of a exception  */
.. ))

Alternatives
------------

- http://david.acz.org/phpa/
- http://www.hping.org/phpinteractive/
- the embedded interactive php-shell: $ php -a 

Something went wrong with that request. Please try again.