タグ

ブックマーク / hiromi2424.hatenadiary.org (4)

  • CakePHP 2.0 のリリース(訳) - 24時間CakePHP

    訳 CakePHPコアチームはメジャーなバージョン番号のジャンプをアナウンスすることに興奮を覚えています。 CakePHP 2.0 安定版が出ました! 私たちはこのリリースに永久の時を注ぎ込み、このバージョンのフレームワークに素晴らしいアイデアの数々を成すことができました。 これは2.0が意味するものの応急な概要です: PHP4のサポートを打ち切り、全てのコードをPHP5.2以上に厳密に尊守するように書き直しました。 例外、PDO、SPL、json_encodeなどなどのネイティブな機能の使用。 ファイル命名へPSR-0を取り入れました。あらゆるクラスは同じ名前を用いてファイルにマッピングされます。覚えることが少なくなりました! 新しいエラーと例外のハンドラーは簡易な設定や、ページが見つからないエラー、承認エラーなどのエラーとの楽な協調、など数多くのものを提供します。 マルチリンガルな開発

    CakePHP 2.0 のリリース(訳) - 24時間CakePHP
  • CakePHPアプリケーションの基本的な設計指針 (2) - キャッシュまわり - - 24時間CakePHP

    イントロダクション CakePHPのキャッシュ機構は、 キャッシュストレージへのラッパー コアに統合されているもの の2種類があります。 前者はCache::read()などを使うもので、自由にキャッシュの操作が行えます。 後者のほうは、ビューキャッシュ、クエリキャッシュ、ディレクトリマップのキャッシュなどで、仕組みを理解した上で設計を思慮する必要があります。 特に問題となるのはビューキャッシュです。 ビューキャッシュの生成・破棄 ビューキャッシュは、エレメントキャッシュと、アクションキャッシュ(フルページキャッシュ)があります。 アクションキャッシュでは、生成されるファイル名の規則としてURIを用いています。 これにより、ルーターの起動の前にキャッシュ処理に移行することを可能にしています。 例:(以下、パスはAPP/tmp/cache/views/以下を示します。) / => home.

    CakePHPアプリケーションの基本的な設計指針 (2) - キャッシュまわり - - 24時間CakePHP
  • CakePHPアプリケーションの基本的な設計指針 (1) - URL設計 - - 24時間CakePHP

    イントロダクション CakePHPはMVCデザインパターンを採用しており、基的にこれに従った設計が基となります。 しかし、ある程度開発が進んだところで、やっかいな設計の問題にぶち当たることは多いですよね。 そこで、よくある問題を取り上げて、設計の指針としてまとめてみることにします。 注:とても1回で書ききれるとは思えません。連載となる可能性が高いです。 URL設計 CakePHPのURLは、最初は独特に見えたかもしれません。 http://example.com/users/view/1 などよりも、http://example.com/user/hiromi2424 などの見栄えを期待していた方も多いのではないでしょうか。 しかし、だからといって以下のようなアクション、URLの呼び出し方は、後々に響いてきます。 <?php // Route Router::connect( '/us

    CakePHPアプリケーションの基本的な設計指針 (1) - URL設計 - - 24時間CakePHP
  • 誰でもできるサービスレイヤの実装 - 24時間CakePHP

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

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