PHPらしさ

の一つは、page controllerだと思っています。数ページから数十ページ程度の小規模なサイトを構築するには、RailsよりもPHPの方が便利かもしれません。実際、RailsのサイトもPHPを使ってますし。
それには、ページ単位でPHPファイルを追加すれば動く、ごく軽いpage controllerのフレームワークが便利そうです。次期Mapleがそういう風に使えるようになるといいなあ、と思います(って、よくよく考えればMapleについて最初にkunitさんにした要望がこれだったんだよな……)。

あと、ActiveGatewayはそんなにあせって正式版まで持っていかなくてもいいような。肝心なのはあれこれ試行錯誤をして、ちょっとずつ変えながら、頻繁にリリースすることじゃないかと。

データアクセスについて言うと、PHPではModelオブジェクトとDAOを分けつつ(つまりActive Recordではなく)、それぞれにレイヤースーパータイプがあってもいいんじゃないかと思っています。つまり、

class Foo extends BaseModel {
// ...
}
class FooDAO extends BaseDAO {
// ...
}

みたいな感じでもいいかも、というか。で、ActiveGatewayがBaseDAOっぽく使えればいいのかな、と思っています。

これも、PHP(特にPHP4)はリフレクションが弱いので、Rails風のActiveRecordを実装するのは大変だし、かといっていちいち明示的に書くにしても、DAOとModelを一つのクラスにしてしまうとごちゃごちゃするので、これらを二つに分けつつ、それぞれのスーパークラスをBaseDAOとBaseModelに決め打ちにすることで扱いやすくできないかな、と。まだまだ妄想のレベルですが。