タグ

2011年3月23日のブックマーク (2件)

  • 誰でもできるサービスレイヤの実装 - 24時間CakePHP

    イントロダクション CakePHPでは標準でサービスレイヤを提供していません。 しかし、CakePHPはフレームワークとしてその基礎部分は十分に提供してると言えます。これはアプリケーション側で実装すべきでしょう。 規模が一定を超えるアプリケーションではサービスレイヤの効能は特筆すべきものがあります。 それは「何をしているか」を端的に表すことができ、開発初期段階において「何が必要か」を明確にし、更にテストを容易にします。 また、トランザクションのサポートもサービス単位で実装することによって、明確に「1サービス1トランザクション」が表現できます。 サービスをモデルとして実装する 上記のサービスモデルは非常に単純化されたサービスモデルの一例です。 これは各モデルのマジックメソッドによる呼び出しを提供します。 saveNewArticleはその例で、使うモデルを一々定義する必要はありません。 コン

    誰でもできるサービスレイヤの実装 - 24時間CakePHP
  • モデルの配列を管理するCollectionableプラグイン - Optionsビヘイビア - 24時間CakePHP

    Collectionableプラグインとは モデルのメソッドの引数やプロパティには、大きな配列が用いられるものがあります。 この管理を適当にすると、コピペの嵐になりがちです。 しかし毎度毎度、その管理の為のコードを書くのは億劫ですし、ロジックのミスにより予期しないバグの混入に陥ることがあります。 Collectionableプラグインは、そのような汎用的な配列の管理を提供するためのもので、配列の共通部分を減らし、かつ柔軟な切り替えを行うことを可能にします。 このプラグインはGitHubで公開しています。以下からダウンロードするかcloneするかsubmoduleとしてご利用ください。 また、英語ですがreadmeにはサンプルコードを載せてあります。 hiromi2424/Collectionable - GitHub このプラグインには現在4つのビヘイビアが存在します。今回は、そのうち最も

    モデルの配列を管理するCollectionableプラグイン - Optionsビヘイビア - 24時間CakePHP