LoginSignup
29
26

More than 5 years have passed since last update.

PsySHって知ってる?私は感動した。

Posted at

はじめに

皆さんこんにちは。
皆さんREPL使ってる方が多いと思います。
Rubyirbとかpryとかが有名ですね。
私はPHPをよく書きますが、昨年までPHPREPL使いたいなーと思ってました。
PHP使いの人はもう既にご存知の人が多いかと思いますが、PsySHを知って感動したので、そのお話をしたいと思います。

REPLって

はてなキーワードによると、

Read-eval-print loopの略
字のごとく読んで評価して表示して繰り返す。対話型評価環境を指す。ただし、インタープリタと同義ではない。
多くの関数型言語やスクリプト言語では利用出来る。

とのことです。

デバッグだったり、ちょっとした試しコードを書きたい場合などに、コンソール上でささっとリアルタイムにコードを実行出来るのが特徴です。
PHPの従来の方法だと、PHP5.1以降からPHP -Aで対話的に利用できるシェルを実行できる機能があったみたいです(当時は知らなかったw)。
自分はRubyirbpryであるのを知っていて実際に使っていたのでPHPでも使いたいなーと思っていた次第です。

PsySHのインストール

Psysh

公式サイトはこちら

インストールは簡単に出来ました。
composerで入れればすぐです。

$ php composer.phar require psy/psysh
$ ./vendor/bin/psysh

使い方

これは実際に起動するとなんとなくわかると思います。
わかりやすいgifが参考記事に載せられていたので引用させて頂きます。

gif

対話的にPHPコードを実行できるので、直接入力して実行すれば結果を返してくれます。
ちなみに、ここではセミコロンを打たなくても実行できます!エラーが出ません!これは良い!
関数を試しに使ってみたいという場合などに私はよく使います。一時的なテストファイルを作成しないでも結果がみれるのは便利ですね。
使ってみるとはまると思いますよ。

PsySHの特徴

PsySHは以下のような機能を持っているようです。
(実際に動かしたこと無い機能もあります;)
・docコマンド:ドキュメント表示
・listコマンド:コンテキスト内の変数・関数の一覧表示
・showコマンド:読み込み済みのコード表示
・wftコマンド:例外の情報表示

おわりに

もしPHPを使っていて、まだPHP -Aでデバッグしている方がいらっしゃいましたら、是非こちらを試してみてください。
ちなみに、Laravel5には標準で組み込まれているようなので使ってみてください。
当時の自分は使って感動しましたw
何か便利機能があれば教えて頂ければと思います。

参考資料

今回は以下の記事を参考にさせて頂きました。ありがとうございました!
PHPのちょっとしたデバッグを簡単に。PsySH の使い方
ENGINE YARD BLOG

29
26
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
26