Ajaxのアプローチを考える
Ajaxの実装手段について
Ajaxって非同期通信である一点を共有している以外、どう実装しようがひっくるめてAjaxて呼ぶけど、
いろいろ作ろうと思って調べてみるとJavaScript、PHP(サーバーサイドの手番で、べつにPHPである必要はない)の
仕事の割合が作り方によっていろいろだ。
MySQL←(JavaScript、PHP)→HTML のデータ加工がしたくていろいろ勉強してみたわけですが、
データを表(tableタグ)に落とし込みたいんだけど、表の作成をPHPでやるかJavaScriptでやるかも作者次第なわけです。
パフォーマンスを語るならいろいろ実装しなきゃいけないんだけど、時間あんまりないんで、
時間あんまり無い→簡単にできる方法という流れでこんなのでいってみようと思った。
MySQL←→PHPでテーブルデータ作成←→JavaScriptで受け取ったデータを加工なしで表示
PHPでテーブルデータ作成するのは、余力があればSmartyを使って、ダメなら生データ作成する。
(Smarty参考資料:phpspot開発日誌: Smarty アーカイブ)
JavaScriptでのデータ更新はprototype.jsでAjax.Updater クラスを使うだけ。
(prototype.js参考資料:prototype.js v1.4.0 の使い方)
(prototype.js参考資料:prototype.jsのものすごく簡単な使い方。 : blog.nomadscafe.jp)
なんか出来そうな気持ちになってきた。データ登録の続きをやろう。
実装手段に悩む。というか別アプローチを検討
と、ここまで書いてSmary調べてたらJavaScriptなテンプレートエンジンめっけた。しかもkawa.netの人の作品だ!これよさそう。
JKL.Hina - テンプレート展開クラス
(YappoLogs: CJTK - JSONPとJavaScriptを使ったテンプレートキット作ったこちらを見ると他にもJSmatyとかCJTKとかあるみたい。)
PHPでテーブルデータまで作成するのはちょっとスマートじゃないなぁと思ってたんだよな。
PHPから送ってくるデータが一般的なデータ形式なら、共有して受け側でいろいろ加工できるし。
でもそれをやるにはJavaScriptで大層ごにょごにょしなきゃならんのでめんどくさいなーと思ってたけど、
これを使えばクエリ結果をXML結果としてエクスポートして、同じくkawa.netの人の作品の
[ajax] JKL.ParseXML/ajax通信処理ライブラリ
を使って、XML形式データ→JSON形式データに変換して、先ほどのJKL.Hinaを使ってHTMLに落とし込む
ということをやればよさげ。