facebook / phpsh
- Source
- Commits
- Network (5)
- Issues (1)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
Daniel Corson (author)
Mon Feb 08 11:14:28 -0800 2010
phpsh /
| name | age | message | |
|---|---|---|---|
| |
LICENSE | Mon Oct 13 13:02:15 -0700 2008 | |
| |
README | Tue Dec 01 13:58:12 -0800 2009 | |
| |
rc.example.php | Sun Sep 27 05:35:54 -0700 2009 | |
| |
setup.py | Mon Feb 08 11:14:28 -0800 2010 | |
| |
src/ | Mon Feb 08 11:01:40 -0800 2010 | |
| |
test/ | Sat Feb 21 03:32:04 -0800 2009 |
README
Mailing list at: http://groups.google.com/group/phpsh To install: (Note that the install currently clobbers any previous /etc/phpsh/rc.php) ~ python setup.py build ~ sudo python setup.py install (Will download and install the pysqlite dependency for you if needed.) The buildscript uses setuptools. This comes with python >= 2.5. If you are using python 2.4, go grab EasyInstall: http://peak.telecommunity.com/DevCenter/EasyInstall#installing-easy-install Currently, python 2.3 and earlier is not supported. Let us know if your setup requires that and we might try to support a lower common denomenator.. To set up after install: - If you just want to use vanilla php, just do ~ phpsh and have fun. - To connect to an actual codebase, e.g.: ~ cd ~/www ~ ctags -R # for phpsh ctags integration, recommended ~ phpsh lib/init.php # or some file(s) that load codebase libraries - To get autoloading, modify /etc/phpsh/rc.php. After that it's just: ~ cd ~/www ~ phpsh And for times when you just want vanilla php: ~ phpsh -c none - For individual configuration, also see rc.example.php in the php distribution. Note to ppl hacking on phpsh: - For faster iteration, after installing once, you can run phpsh from src/ directly without reinstalling. E.g.: ~ cd ~/www ~ ~/projects/phpsh/src/phpsh Todo for after phpsh 1.2 - (A) Simple phpsh breakpoints that you can insert into your php code. - (B) magic fatal undoing? - Convert from /tmp file to named pipe for 'ready' message passing http://my.opera.com/zomg/blog/2007/08/29/php-and-named-pipes - Maybe phpsh_check_syntax shouldn't actually be installed as a script, and just be a pkg_resource? Didn't want to worry about zip file overhead, and installing didn't seem like a big deal. - Similarly, php_manual.db should probably go in share/ not etc/ but similarly was worried about b.s. with setuptools.. - Paging for long php> d .. results? Or is terminal scroll fine.. - Thread loading ctags and starting php? Would speed start but not restart. - Command-line apc for faster php startup for large codebases. - Note on php start error to start from codebase place? - Make tab to show function signature work with multiline func sigs. About (A: breakpoints): jlindamood has suggested adding a very basic debugging facility in which phpsh.php would define some function called like phpsh_breakpoint() which you would be able to put in your code that would cause the php> to re-happen at that breakpoint so that you can investigate whatever state until you issue like a phpsh_resume() (or whatever it would be called). My suspicion is that that can be done pretty easily be having a new message type from phpsh.php to phpsh.py. (Currently there is only the 'ready' message when phpsh.php is ready to receive a new line of codes from phpsh.py.) About (B: fatal-undoing): brent suggested adding some kind of katamari-esque memory snapshotting, so that on fatals like calling a nonexistent function (which are not catchable in php-land, sadly) can be magically recovered from. I think dweatherford or larry would be good to ask about this kind of black magic.
