とある業務のフレームワーク選定として、
・独自MVC
・CakePHP
・ActiveRecord
を考えていたのですが、ひとまず、CakePHP で試験的に実装をしてみることに「決断」。まあ、試験的なので、業務として使えるパーツを集めるということで、
- CRUD をひと通り
- Web API として URL からパラメータを取得
- 複雑なクエリ
- トランザクションの制御
- フォーム認証関係(ACL)、セッション情報
をがつがつと試していきます。
※ http://cakephp.jp/ の 2.3.4 を使ってチェック。
CakePHP 再入門(1) – Moonmile Solutions Blog
http://www.moonmile.net/blog/archives/1711
からの一連の記事は、SELECT 関係しか調べていないので、ちょっと今回の業務ロジックには足りない…ということでスピードをあげて調べ直し。システム構成としては、クライアント側に C# で Windows アプリ、サーバーに PHP+MySQL のレンタルサーバーという構成で、おそらく平均的な C/S 構成を作ったときに「ランニングコスト&保守を含めて」コストパフォーマンスが良いパターンかと。最近は仮想サーバーにしても IIS で安くするものですが、「プログラマ単価」的に PHP が安いとか、クライアントプログラミング的に C# が融通が利くとか、そのパターンです。まあ、今回は「プログラマ単価」は関係ないのですが、Linux サーバーに PHP で Web API を作って貰えるパターンがあると流用できると思います。
# 4年ぐらい前だったら、Silverlight+PHP のパターンを考えるのですが、Windows 8 を見ると、ちょっとね…という具合なので、WPF(C#)+PHP の組み合わせ。
C/S 通信には、SOAP, Web API(REST), XML-RPC というパターンがあります。Wordpress との連携を考えると、XML-RPC のほうがベターなのですが、C# での XML-RPC のサポートがいまいちなのと(xml-rpc.net しかない)、生 PHP でアクセスする場合には、そのメリットが少なくなってしまうので、REST で。C# 寄りにして SOAP を使う方法もあるのですが、今回は PHP に負担を掛けない方法で。
■目次
そんな訳で、以下は CakePHP 再々入門の目次(場所の予約)
- [CakePHP] 最初のひな形を作る – Moonmile Solutions Blog
- [CakePHP] 指定したIDの行だけ表示する – Moonmile Solutions Blog
- [CakePHP] 指定したグループを検索して表示する – Moonmile Solutions Blog
- [CakePHP] 検索IDをURLに埋め込んで検索させる – Moonmile Solutions Blog
- [CakePHP] 新しい行を挿入する – Moonmile Solutions Blog
- [CakePHP] IDを指定して行を削除する – Moonmile Solutions Blog
- [CakePHP] IDを指定して行を更新する – Moonmile Solutions Blog
- [CakePHP] トランザクションを利用する – Moonmile Solutions Blog