fulore / psysh
An interactive shell for modern PHP.
dev-master / 0.1.0.x-dev
2013-10-07 02:43 UTC
Requires
- php: >=5.3.0
- nikic/php-parser: ~0.9.3
- symfony/console: ~2.1
Requires (Dev)
- phpunit/phpunit: ~3.7
- symfony/finder: ~2.1
Suggests
- ext-pcntl: Enabling the PCNTL extension makes PsySH a lot happier :)
This package is not auto-updated.
Last update: 2024-05-07 04:50:16 UTC
README
Check out the Interactive Debugging in PHP talk from OSCON on Presentate.
Installation
PsySH is available via Composer, or you can use it directly from this repository:
git clone https://github.com/bobthecow/psysh.git
cd psysh
./bin/psysh
But by far the easiest way to use it is to download the precompiled phar:
wget psysh.org/psysh
chmod +x psysh
./psysh
PsySH configuration
While PsySH strives to detect the right settings automatically, you might want to configure it yourself. Just add a file to ~/.psysh/rc.php
:
<?php return array( // In PHP 5.4+, PsySH will default to your `cli.pager` ini setting. If this // is not set, it falls back to `less`. It is recommended that you set up // `cli.pager` in your `php.ini` with your preferred output pager. // // If you are running PHP 5.3, or if you want to use a different pager only // for Psy shell sessions, you can override it here. 'pager' => 'more', // By default, PsySH will use a 'forking' execution loop if pcntl is // installed. This is by far the best way to use it, but you can override // the default by explicitly enabling or disabling this functionality here. 'usePcntl' => false, // PsySH uses readline if you have it installed, because interactive input // is pretty awful without it. But you can explicitly disable it if you hate // yourself or something. 'useReadline' => false, // "Default includes" will be included once at the beginning of every PsySH // session. This is a good place to add autoloaders for your favorite // libraries. 'defaultIncludes' => array( __DIR__.'/include/bootstrap.php', ), // While PsySH ships with a bunch of great commands, it's possible to add // your own for even more awesome. Any Psy command added here will be // available in your Psy shell sessions. 'commands' => array( // The `parse` command is a command used in the development of PsySH. // Given a string of PHP code, it pretty-prints the // [PHP Parser](https://github.com/nikic/PHP-Parser) parse tree. It // prolly won't be super useful for most of you, but it's there if you // want to play :) new \Psy\Command\ParseCommand, ), );
マルチバイト文字列
コンソールに表示される文字列を、エンコードしないで表示しています。
Downloading the manual
The PsySH doc
command is great for documenting source code, but you'll need a little something extra for PHP core documentation. Download one of the following PHP Manual files and drop it in ~/.psysh/
: