メイン | 2005年10月 »

2005年09月26日

PHPObject難航パート3

クラスの中でこんな感じでDB接続を作るじゃないすか。

$this->dbh = new PDO($this->ds, $this->username, $this->password);
$this->dbh->setAttribute(PDO_ATTR_ERRMODE, PDO_ERRMODE_EXCEPTION);
$this->dbh->exec("set names utf8");

これをグローバルで使いまわそうとするとダメ。
単独で使う分には普通に動くんだけど、、結局、関数ごとに毎回接続を作るようにしたら動きました。よくわかんないけど動いたからヨシとしよう。

PHPObject難航パート2

これにもはまった。
PHPObjectで呼ぶクラスファイルの中で、includeとか使う場合はそのクラスファイルからの相対パスじゃダメで、Gateway.phpからの相対か、絶対パスで書けばオーケー。

PHPObject難航パート1

PHPObjectを使ってみてるんだけど、意図した通りに動いてくれない。

myFoo.onInit = function() { trace("init ok"); }
myFoo.write_onResult = function() { trace("write ok"); }
myFoo.read_onResult = function() { trace("read ok"); }

myFoo.write();
myFoo.read();

これで"init ok" "write ok" "read ok"と表示して欲しいところなんだけど、"init ok" "write ok"しか表示されない。
しかも順序が逆になったりする。どうなんすか。

PHP5.1使ってるからかなとかいろいろ疑ってみたんだけど、結局、delayExecuteとexecuteを使うか、write_onResultの中でreadを呼ぶことで解決。そういうもんなのかな。

とりあえずこれで前に進む、、