>>> PsySH
A runtime developer console, interactive debugger and REPL for PHP.
PsySH是一个PHP的运行时开发平台,交互式调试器和
Read-Eval-Print Loop (REPL)
。
说的简单点,就跟你用Chrome
的时候firebug
的console
调试你的JavaScript
代码一样。
安装
Have eight seconds? Try PsySH
1.要么直接下载下来用
$ wget https://git.io/psysh
$ chmod +x psysh
$ ./psysh
2.或者使用composer
来安装
$ composer g require psy/psysh:@stable
$ psysh
以下教程以OS X
和Windows
为例,在这之前您已经将安装了php
和composer
,并且把加入了环境变量
OS x
-
先下载下来,这是肯定的,这里用的是全局安装
$ composer global require psy/psysh
-
安装完毕后,PsySH已经安装到/Users/{用户名}/.composer/vendor/psy/psysh目录下,这个时候你可以这样来直接运行
$ /Users/{用户名}/.composer/vendor/psy/psysh/bin/psysh
-
为了使用方便,建议将它加入到环境变量:
$ echo 'export PATH="/Users/{用户名}/.composer/vendor/psy/psysh/bin:$PATH"' >> ~/.bashrc $ source ~/.bashrc
Windows
-
我们还是用的
composer
来安装,win+r
召唤控制台,然后composer global require psy/psysh
-
安装完成后,PsySH被安装到C:Users{用户名}AppDataRoamingComposervendorpsypsysh
因为bin/psysh文件并不是windows的可执行文件,所以需要使用以下命令运行PsySHphp C:\Users\{用户名}\AppData\Roaming\Composer\vendor\psy\psysh\bin\psysh
-
为了使用方便,在C:Users{用户名}AppDataRoamingComposervendorpsypsyshbin目录下新建一个名为psysh.bat的文件,其内容如下:
@ECHO OFF php "%~dp0psysh" %*
-
此时,把C:Users{用户名}A ppDataRoamingComposervendorpsypsyshbin 加入到系统的环境变量PATH,以后可以直接在cmd下运行psysh了:
C:\Users\Vergil>psysh Psy Shell v0.6.1 (PHP 5.6.8 — cli) by Justin Hileman >>>
神器特性
上面说过,PsySH是一个交互式的PHP运行控制台,在这里,你可以写php代码运行,并且可以清楚看到每次的返回值:
并且,它很智能地知道你的代码是否已经结束
自动完成
PsySH可以像控制台那样,按下两次[tab]
键自动补全,帮你自动完成变量名,函数,类,方法,属性,甚至是文件:
文档
在运行时忘记参数怎么办?PsySH的文档功能可以让你即时查看文档。
PsySH的文档存放在~/.local/share/psysh/
。(windows系统存放在C:\Users\{用户名}\AppData\Roaming\PsySH\
)
下载中文文档:
$ cd ~/.local/share
$ mkdir psysh
$ cd psydh
$ wget http://psysh.org/manual/zh/php_manual.sqlite
OK,完成后重新打开PsySH
而且还自带分页功能(和more命令一样)
运行PsySH:
查看源代码
轻松展现任何用户级的对象,类,接口,特质,常数,方法或属性的源代码:
查看show的帮助,使用help show命令:
反射列表
list
命令知道所有关于你的代码 - 和其他人的。轻松地列出并搜索所有的变量,常量,类,接口,特点,功能,方法和属性。
获取最后的异常信息
如果忘记catch
异常,可以使用wtf
命令(wtf是what the fuck的意思么?)查看异常的信息:
历史记录
可以像类Unix
系统的history
命令一样,在PsySH可以查看你运行过的PHP代码或命令。详情运行help history命令查看。
退出
使用exit
命令退出你的PsySH
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。