ヌル日記さんの、コードテスターの記事を読ませて頂きました。良いアイデアだと思い、実行しようと思いましたが、ちょっと手順が長い。面白そうなのですが、今ちょっとシステムづくりに挑戦しているので、そこまで手をかけられません。
とはいえ、毎回テストコードのために、ダミーのクラス作ってというのは確かに面倒。簡単にできないかなと思いまして、私なりの方法を考えました。
PHPは原則スクリプト。なら、変数に取り込んだコードを実行できるはず。ああ、eval()か。(この程度のPHP使いです。 :D )
Fuelで開発するということは、ローカルであれ、別のマシン上のサーバーであれ、web環境が整っている。なら、特定のページから簡単なコードを書いて、実行できればいいわけだ。
出来れば、今開発しているコード上に絡めて実行できたりするといいですね。余計なビューとか作らないで。ごちゃごちゃしますし。
そうした、視点から、1クラスに閉じ込めた、サンプルコードテスターを作って見ました。コードは簡単です。
<?php
class Controller_Codetester extends Controller {
function action_index() {
if (Input::get_post('code', false)) {
$return_value = eval(Input::get_post('code'));
}
echo Form::open(URI::current());
echo Form::textarea('code', Input::get_post('code') ? Input::get_post('code') : '', array('rows' => 20, 'cols' => 100));
echo Form::reset('reset', 'リセット');
echo Form::submit('execute', 'コード実行');
echo Form::close();
}
}
これだけです。まあ、エラーはエラーとして出力されます。PHPのぞんざいなエラー出力も、Fuelの丁寧なエラー出力もそのままです。
サンプルの実行はもちろん、自分の作ったクラスを拡張したり、モデルを取り込んで、テスト目的にも利用できますね。作ってみて、便利だと思いました。 :)
前記事のFuelに組み込まれているプロファイラを起動するようにしておけば、ちょっとしたデバッグ環境ですね。まあ、私はNetbeans使いですが。 :D
| Fuelphp、コードテスターに保存機能をつけて見ました< 前 | 次 >Fuelphp、コンフィグファイルの使い方 |
|---|
| < 前 | 次 > |
|---|