PHP ウィジェットフレームワークを妄想してみた
そもそもGWTが好きであぁJavascriptレスで色々簡単に出来るなんてステキなんて;;;
*1
そんなことをPHPで出来たらなぁーってことです。
基本コンセプト
- WidgetのPHPコードからコンパイルしてtemplateのHTMLと混ぜてうまいHTML+JSになっているファイルを出力する
- PHP4よりもPHP5のほう推奨
- インラインでもいいけど、やっぱり外部JSに出力したい
などなど妄想はたくさん☆ミ
やってみた
3時間くらい書いてた気がする。とりあえず、適当なコンパイラまがいなものを製作した。
nativeなjavascriptを吐くクラスとwidgetクラスのそれぞれの基底クラスがないので、ちゃんと設計しないといけないだろう。
とは言うものの、とりあえずテンプレートファイルにonclickのイベントを挿入するWidgetクラスをコンパイルすることには成功した。
ちゃんと外部JSにしたり、JSのグループ化(1Widget1JSファイルじゃかっこ悪い)、javascriptを吐くクラスの整備とかとか
やることたーくさん;;; 今日は終わりにします。
いつ再開することやら・・・
ちなみにこんなものもある
http://journal.mycom.co.jp/articles/2006/11/09/xajax/
途中結果
require_once "javascript/stdJS.php"; class WidgetTest{ public $template; function __construct() { $this->template = "test.html"; // テンプレートファイルの指定 } public function testBtn_onClick() { std_JS::alert("test"); } }
templateファイル
<div> <button id="testBtn">Click !!!</button> </div>
出力したファイル
<div> <button id="testBtn" onclick="alert('test');">Click !!!</button> </div>
*1:まぁ足りないものがたくさんあったのでネイティブなjavascript書きましたけど・・・
*2:コード中のstd_JSクラスはメソッドに対応したjavascriptのコードを出力するメソッドを持つクラスです