PsySH -- PHP 対話型コンソール

WBOY
リリース: 2016-06-20 12:33:26
オリジナル
1574 人が閲覧しました

PsySH

PsySH は、PHP 用のランタイム開発者コンソール、対話型デバッガー、および REPL です。

PsySH は、PHP 用のランタイム開発者コンソール、対話型デバッガー、および REPL です。ループ (REPL)。

簡単に言うと、firebug のコンソールを使用して JavaScript コードをデバッグするのと同じです。

  • PsySH 公式 Web サイト
  • GitHub
  • Packagist

インストール

公式 Web サイトでは 3 つのインストール方法が紹介されています。

  • 直接ダウンロード
  • Composer インストール
  • GitHub リポジトリのコードを直接クローンします

私は Composer インストールを選択することを好みます。このプロジェクトには、他の依存プロジェクトの場合にも、Composer はこの問題をうまく解決できます。

次のチュートリアルでは、例として OS X と Windows 10 を取り上げます。php と Composer がインストールされ、システム環境変数として設定されていることを前提としています。

OS X

最初に Composer を使用します。 PsySH をダウンロードします。ここではグローバル インストールを使用します:

$ composer global require psy/psysh
ログイン後にコピー

インストール後、PsySH は /Users/{username}/.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 キーを押し、「cmd」と入力して、Windows コンソールを開き、次の手順を実行します。

composer global require psy/psysh
ログイン後にコピー

インストールが完了すると、PsySH が C:Users{username にインストールされます。 }AppDataRoamingComposevendorpsypsysh

bin/psysh ファイルは Windows 実行可能ファイルではないため、次のコマンドを使用して PsySH を実行する必要があります

php C:Users{用户名}AppDataRoamingComposervendorpsypsyshbinpsysh
ログイン後にコピー

使いやすくするために、という名前の新しいファイルを作成します。 psysh を C:Users{username}AppDataRoamingComposevendorpsyshbin ディレクトリの .bat ファイルに追加します。その内容は次のとおりです。

<a href="http://www.jobbole.com/members/echo">@ECHO</a> OFFphp "%~dp0psysh" %*
ログイン後にコピー

この時点で、C:Users{username}AppDataRoamingComposevendorpsyshbin をシステム環境変数 PATH に追加します。将来的には、cmd の下で psysh を直接実行できるようになります。

C:UsersVergil>psyshPsy Shell v0.6.1 (PHP 5.6.8 — cli) by Justin Hileman>>>
ログイン後にコピー

機能

前述したように、PsySH は対話型の PHP 実行コンソールです。ここで PHP を作成できます。毎回の戻り値:

そして、コードが終了したかどうかをインテリジェントに認識します

自動完了

PsySH は、コンソールと同じように 2 つのキーを押すことで、変数名、関数、クラス、メソッド、プロパティ、さらにはファイルを自動的に完成させることができます:

ドキュメント

実行時にパラメーターを忘れた場合はどうすればよいですか? PsySH のドキュメント機能を使用すると、ドキュメントを即座に表示できます。

PsySH ドキュメントは ~/.local/share/psysh/ に保存されています。 (Windows システムは C:Users{username}AppDataRoamingPsySH に保存されています)

ドキュメントのダウンロード アドレス:

  • 英語
  • ブラジル ポルトガル語
  • 中国語 (簡体字)
  • フランス語
  • ドイツ語
  • イタリア語
  • 日本語
  • ポーランド語
  • ルーマニア語
  • ロシア語
  • ペルシア語
  • スペイン語
  • トルコ語

中国語ドキュメントをダウンロード:

$ cd ~/.local/share $ mkdir psysh$ cd psydh$ wget http://psysh.org/manual/zh/php_manual.sqlite
ログイン後にコピー

OK、完了後に PsySH を再度開きます

ページング機能もあります (more コマンドと同じ)

もちろん、カスタム オブジェクトにも関連する機能を含めることができます:

たとえば、test.php ファイルには次の内容があります:

ソース コードを表示

ユーザー レベルのオブジェクトを簡単に表示します。クラス、インターフェイス、トレイト、定数、メソッド、またはプロパティのソース コード:

前の例に従います:

ヘルプを表示するにはshow の場合は、help show コマンドを使用します。

Reflection List

list コマンドは、自分のコードと他の人のコードに関するすべてを認識します。すべての変数、定数、クラス、インターフェイス、機能、関数、メソッド、プロパティを簡単にリストし、検索します。

さらに詳しい使用方法については、help list コマンドを入力して表示できます。

最後の例外情報を取得します

例外をキャッチするのを忘れた場合は、wtf コマンド (wtf ってどういう意味ですか?) を使用して例外情報を表示できます。

History

Unix 系システムの History コマンドと同様に、PHP コードや PsySH で実行したコマンドを表示できます。詳細を表示するには、ヘルプ履歴コマンドを実行します。

終了

exit コマンドを使用して PsySH を終了します

help

最適なコマンド、help または ?、すべてを理解するのに役立ちます Command

組み込み Web サーバーでのデバッグ

当初は例として Laravel を使用したかったのですが、デバッグの内容が多すぎることが多く、ページで表示する必要があります。中国語の記事で述べたように、例として ThinkPHP を使用してみましょう:

まず、ThinkPHP をインストールします

次に、Composer を使用して PsySH を部分的にインストールします:

ThinkPHP の dump() 関数と symfony/var-dumper の dump() 関数の間に名前の競合があるため、どちらかの名前を変更する必要があります。個人的にはTPを変更することをお勧めします。なぜ? symfony の方がずっと使いやすいからです。 。 。

次の 3 行のコードをエントリ ファイルindex.php に追加します。

プロジェクトのルート ディレクトリで、PHP のビルドから開始します。 Web サーバー内:

php -S localhost:8080
ログイン後にコピー

然后即可在浏览器访问你的应用: http://localhost:8080

你将会看到以下画面,PsySH启动了

其他操作,和CLI操作差不多。例如:

ls -al ThinkModel
ログイン後にコピー

show \Think\Model::find
ログイン後にコピー

doc \Think\Model::save
ログイン後にコピー

当然,那句PsyShell::debug()不一定要放在入口文件,它可以放在你一切想要debug的地方例如,我放在默认的首页控制器:

重新运行php内置server并访问页面,然后输入命令:

ls -al
ログイン後にコピー

打开PsySH后,输入get_defined_vars()试试?

 

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!