はじめに
KinoPHP を使うと、 Livebook で PHP が実行できるようになります
実装したノートブックはこちら
事前準備
実行環境上に PHP をインストールしている必要があります
Ubuntu の場合、 apt install php
でインストールしましょう
macOS の場合、 brew install php
や asdf 等でインストールしてください
セットアップ
セットアップセルで KinoPHP をインストールします
Mix.install([
{:kino_php, "~> 0.2"}
])
PHP の実行
KinoPHP.eval
に PHP で書かれた処理を渡すと、第2引数の関数に実行結果が返ってきます
KinoPHP.eval
自体の出力は終了コード(正常なら 0
)なので、 Kino.nothing
で表示しないようにしています
"""
<?php
echo 'Hello, PHP!';
"""
|> KinoPHP.eval(fn output ->
output
|> Kino.Text.new()
|> Kino.render()
end)
Kino.nothing()
実行結果
第2引数の関数は PHP からの標準出力を都度受け取ります
フレームを用意しておいて、 KinoPHP.append_to_frame
で標準出力をストリーミングできます
frame = Kino.Frame.new() |> Kino.render()
"""
<?php
for ($i = 0; $i < 5; $i++) {
fwrite(STDOUT, "count $i \n");
sleep(1);
}
"""
|> KinoPHP.eval(fn output ->
KinoPHP.append_to_frame(frame, output)
end)
Kino.nothing()
実行している様子
スマートセル
KinoPHP をインストールすると、スマートセルに "PHP Script" が追加されます
"PHP Script" セルを使うと、簡単に PHP を実行できます
まとめ
KinoPHP を使うことで、 Livebook 上で PHP を実行することができました
PHP 入門を Livebook で学ぶ、なんてこともアリですね