Proposal for "Shell"

» Metadata » Status
» Description

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.


  • tab-completion (if readline() support is compiled into php)
  • handles FATAL errors (like calling a undefined function)
  • inline help (like ? <class>)
  • __autoload() is enabled by default
  • works on all php platforms (shell wrappers for Unix and Windows)

The main benifit is the pre-parsing the handle FATAL errors before they are raised by eval(). ext/tokenizer is used to parse a statement-block into critical sequences which are validated.


  • PHP5 or higer
  • ext/tokenizer
  • ext/pcre
  • [recommend] ext/readline

the PHP5 requirement comes from the Reflection API and __autoload().

» Dependencies » Links
» Timeline » Changelog
  • First Draft: 2006-05-15
  • Proposal: 2006-05-15
  • Call for Votes: 2006-05-22
  • Jan Kneschke
    [2006-05-19 09:57 UTC]

    Upgraded to 0.2.6

    • the examples point to PHP/Shell.php
    • the colours are now changable at runtime through colour schemes