PHPインタラクティブ シェル

今日は暑すぎる。何とかしてくれという顔をしている柴犬です。
概要
php のコードが正しいのか確かめるのに、いちいちブラウザで見るのも結構手間がかかるので何かいい方法はないのか常々思っていました。
何気なく、私がよく電子書籍を購入している Packt で何か情報はないかと php で検索してみました。
次の The PHP Workshop という本にありました。
https://www.packtpub.com/product/the-php-workshop/9781838648916
準備
php のインストールは、xammp がインストールされてあればいっしょにインストールされているので、何もすることはありません。php.exe のパスも通っています。
次の画像はその状況で、私の場合は、c: / xammp / php / php.exe となっています。

Interactive shell
コマンド プロンプトを起動します。

次のコマンドを打って実行します。
php -a
これで、phpのスクリプトが実行できるようになりました。

試してみる
変数を試してみる
$a = "Hello World";
と打ち込み、Enter
print $a;
と打ち込み、Enter と続けると、Hello World が表示されました。

文字結合を試してみる
$b = "こんにちは";
と打ち込み、Enter すると「こんにちは」が消えてしまいました。でも表示の問題だけでデータは残っているようです。
print $a . $b;
と打ち込み、Enter と続けると Hello Worldこんにちは と表示され文字列の結合ができています。

if の条件分岐を試してみる
if ($a == '') {
と打ち込み、Enter すると > が { に変わりました。{ の記述だということが分かるようになっています。
print "empty";
と打ち込み、Enter 以下同様に
} else {
print $a;
}
と打ち込み、Enter します。

結果、条件判定が行われ Hello World が表示されました。
ユーザー関数を試してみる
function showMessage($name) {
print "こんにちは
と入力してみました。全角は、確定前までは表示されます。

print "こんにちは、{$name}さん!";
確定すると、やはり全角はインの時は表示が消えます。
}
showMessage("柴犬");
と打ち込みますと、関数が実行されました。

対話形式で手軽に php が実行できるのが分かりました。