Adobe、『PHP』の Zend と提携へ [CakeAMFPHP]
Dojoも統合しているし(ってことはMochikitとも)、今後はZend Frameworkへの移行も考える必要があるだろうな…。
頭がパンクするっすー。
いつのまにか新しいバージョンが [CakeAMFPHP]
CakePHPを1.2.0.6311 βにしたら、CakeSWXPHP r91がおかしくなったので、CakeSWXPHP 1.2 r94 にした。
いままで、ゲートウェイは cake_amf_gateway.php だったんだが、r94から単なる amf.php になった。
大した意味があるとも思わんけど。
1.2からはほとんどコレ(FLEX+AMFPHP)でやっているので、view の作り方忘れた…。
日本語ってやっぱり不便ね [CakeAMFPHP]
CAKEAMFPHPの良いところは、Flashからのリクエストを、CakeがDBからとってきて、データの配列をオブジェクトとして、まるごとFlashに送信できるところにあると思う。
のだが、ここでやっぱりエンコーディング問題が出てくる。
うちで扱う物件のほとんどは指定のサーバで、それらはほぼ間違いなくPHP・DBともにEUC-JPだ。
だもんだから、Flashへ渡す時に値をEUCからUTF-8に変換する作業が発生する。
配列から値をいちいち抜き出して、mb_convert_encodingしなきゃいけないから、イマイチ機動力が落ちるよな。
配列ごと一発で変換できるのがあれば良いのに。
もっといい方法無いですかね?
追記:
EUCからUTF-8に変換しただけだと、AMFPHP内で文字化けしてしまうよう。
しょうが無いから、
$str = mb_encoding_convert($str,'UTF-8','EUC-JP');
$str = urlencode($str);
としてから、Flash側で unescape してやるっつー面倒くさいことになってしまった。
やれやれ。
【追記】
http://can-tena.com/remoting/dir.html
良くわかんないけどできた [CakeAMFPHP]
諦め悪く、うだうだやってます。
捨てる神あれば、拾う神ありとはまさにこのこと。
CakePHPでつかえる、あたらしいプロジェクトが出ていた。
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=662&forum=3&post_id=1244#forumpost1244
これのcakeswxphpにはAMFPHPも含まれているので、それを利用することにする。
このほうが新しいしね。
でも、あいかわらずFlash側のコールバックが呼ばれない。
サンプルをいくつも試し、本家AMFPHPのサンプルを使用したら、いきなりできるようになった。
それまでのスクリプトと同じにしか見えないのに、何が違うのか全くわかんないんだけど…。
まあ、できたんだからいいや。
やってみて、やっぱりスッゲェ便利。
PHPの配列をそのままFlashにオブジェクトとして持って来れるなんて!
XMLパースする必要がないから、パースする時に動きが止まることも、減るだろうし。
これから、ガンガン行くぜ!
さっそく諦めモード [CakeAMFPHP]
なにをどぉ〜〜やっても、値が戻ってこない。何が悪いんだ?
やっぱ、CakePHPのバージョンが1.1.16だから?
チュートリアルには、1.1.6使えって書いてあるもんな。http://cakeamfphp.rd11.org/
古すぎて、1.1.6なんて、もうダウンロードできねーよー。
完全に諦めモードです。
これを解決できる程のスキルはねぇっす。
あとは、他力本願で日本語の記事が増えるのを期待して待つしか無いのか。
かなり期待しているサイト様↓
http://101proc.jpn.org/blog/archives.html
追記:8/3
現象としては、下記と同じかな。
「苦い開発」
http://bitter-development.blogspot.com/2007/07/flash.html
Flash remotingのサーバはAMFPHPを使っていた。gateway.php以外をドュメントルートの外に置くと、呼び出しは出来るが、クライアントのコールバックが呼ばれない。
でも、ドキュメントルート(というか、cake/app/vendors/)に置いているんだけどなぁ。
新しいこと [CakeAMFPHP]
CakePHPをつかって、簡単なサイトを2つ程つくった。
まだまだ、全然使いこなせていないんだけど、ここで更なる高みをめざすことに。
CakePHP + AMFPHP = CakeAMFPHP !
AMFPHPはFlash RemotingをPHPで実現してしまおうというプロジェクトで、Flash使いなら非常に強力な武器になるモノ。
それをCakePHPと組み合わせて、DBとのやり取りを楽にしようというのがCakeAMFPHP。
http://cakeamfphp.rd11.org
今のオレがやるには、笑っちゃうくらい無謀すぎる。でも、やれたらすげーぜ。
自分を褒めるために、がんばろう。
とりあえず、基本中の基本の "Hello, World" を移植してみた。
(Hello, World)http://www.qns.us/amfphp/helloworld.php
戻り値がもどってこねぇぇぇ!
Controllerの各関数に $this->log("適当な名前") を入れてログを確認すると、それぞれの関数はちゃんと動いている。
ってことは、Flashに戻すときの処理でつまずいてんのか…どこでやってんだ?
はう〜ん。