ボリスは、小さくても信頼性の高いphp用のREPLです。

Python、ruby、clojureにはREPLがあります。 REPL-read-eval-printループ。 擬似コードでREPLが何であるかを説明すると、次のようになります。

while(true){ echo eval($input->get()); }
      
      





このような実装により、開発者はファイルを作成せずにコードを自由に試すことができます。 ミスを犯す可能性があります。ボリスはこれに関するメッセージを表示しますが、新しいコードを待って動作し続けます。



画像



必要条件





設置



Borisは作曲家から入手できます。

 composer require d11wtq/boris dev-master
      
      





または昔ながらの方法:

 git clone git://github.com/d11wtq/boris.git cd boris ./bin/boris
      
      







使用する



Borisを起動すると、招待状が表示されます。

 boris>
      
      





何かを書いてみてください、ボリスはそれを処理して結果を出します。 長い複数行の式がある場合、Borisはそれをまとめて実行します。 操作をキャンセルするには、 ctrl + c



使用しctrl + c



。 デフォルトでは、すべての結果はvar_dump



関数によってvar_dump



れますvar_dump





 boris> $x = 1; int(1) boris> $y = 2; int(2) boris> "x + y = " . ($x + $y); string(9) "x + y = 3" boris> exit;
      
      





ユーティリティを終了するには、 ctrl + D



使用しますctrl + D







プロジェクトで使用する





すべてが非常に簡単です:

 require_once 'lib/autoload.php'; $boris = new \Boris\Boris('myapp> '); $boris->setLocal(array('appContext' => $appContext)); $boris->start();
      
      





ここで、ユーティリティは、Borisから利用可能なグローバル変数appContext



初期化されます。



ユーティリティを開始する前にコールバックを追加することができます。 それらを追加するには2つのオプションがあります。

 $boris->onStart('$foo = 42; $bar = 2; echo "Hello Boris!\n";'); $boris->onStart(function($worker, $scope){ extract($scope); echo '$foo * $bar = ' . ($foo * $bar) . "\n"; $worker->setLocal('name', 'Chris'); });
      
      





最初に、ボリスがeval



を介して単純に実行するコード行を渡します。 次に、コールバックを実行します。コールバックは、Borisのスコープからデータをエクスポートし、それらのアクションを実行してから、 $name



変数をBorisに追加します。



リポジトリへのリンク。



All Articles